HTML代码:
@Html.DropDownListFor(w => w.DetailList[i].Meetcode, ViewBag.MeetNameChanne as List<SelectListItem>, new { Class = "txt_input_c ", Onchange = "MeetChange()" })
JS代码:
function MeetChange() {
var meetname = $("#Meetcode").find("option:selected").text();
var meetname2 = $("#Meetcode").val();
if (meetname2 != "-1" && meetname2 != "") {
$("#Meetname").val(meetname);
} else {
$("#Meetname").val("");
}
}
问题:meetname 和 meetname2 都为“ ” 取不到值 。是什么原因???
如果HTML代码这样写:
@Html.DropDownListFor(w => w.Recruitcode, ViewBag.RecruitChannel as List<SelectListItem>, new { Class = "txt_input_c ", Onchange = "RecruitChange()" })
JS代码能取到值:
function RecruitChange() {
var belongname = $("#Recruitcode").find("option:selected").text();
var belong = $("#Recruitcode").val();
if (belong != "-1" && belong != "") {
$("#Recruitname").val(belongname);
} else {
$("#Recruitname").val("");
}
}
为什么w => w.DetailList[i].Meetcode的取不到值???请问js要怎么写?
JS第一行加个debug,断点一下就知道为什么了, 断点到meetname处,ELements处
确认一下这个属性本身是否有值,代码一般不会骗人,估计ELements本身就没这个属性或者你属性少了某些字母拼写错误
保存到后台有值,只是js取不到值
@雾散梦醒: 抛开你后台,你问题点就是js没法取值,那就盯着js,js 是基于页面elements渲染后进行定位取值,那么就是定位出现空值,抛开可能$的影响不一定代表就是jq
用原生js取一下看看他取到到底是什么东西
console.log(document.getElementById("Meetcode"))
@雾散梦醒: 这部要是没有问题,就往后走find这一步取值以此类推,最好的放法还是断点,调试Bug,打断点是核心
@小小咸鱼YwY: 好的,我试试
问题:meetname 和 meetname2 都为“ ” 取不到值 。是什么原因???
console.log(obj);
打印下,调试看看 到底得到的是什么 object。
看起来像是jQuery的语法,不用加 [0] 吗?
取到“ ”
在F12,页面上能找到id为 Meetcode的控件吗?
有呀,第一行就展示了HTML代码
@Html.DropDownListFor(w => w.DetailList[i].Meetcode, ViewBag.MeetNameChanne as List<SelectListItem>, new { Class = "txt_input_c ", Onchange = "MeetChange()" })
html代码呢?
在第一行啊,不是写了控件代码
@雾散梦醒: 没看到你设置这个控件的id。。。
哈哈哈,看了一圈总结依米套路:“江湖救急!xxxxx”,“xxxxx,急急急!”