Javascript jquery为问题选择了DropDownList
我正在使用为dropdownlistfor选择的jquery,它工作得非常好。我在jquery中放置了一个逻辑,当选择发生变化时,它会自动检查所有添加的元素。但当我试图删除某些元素时,它不允许我删除它,事实上它被卡住了。如果我对我创建的jquery脚本进行注释,它就可以正常工作。我假设jquery脚本中存在问题 查看Javascript jquery为问题选择了DropDownList,javascript,jquery,asp.net-mvc-4,razor,Javascript,Jquery,Asp.net Mvc 4,Razor,我正在使用为dropdownlistfor选择的jquery,它工作得非常好。我在jquery中放置了一个逻辑,当选择发生变化时,它会自动检查所有添加的元素。但当我试图删除某些元素时,它不允许我删除它,事实上它被卡住了。如果我对我创建的jquery脚本进行注释,它就可以正常工作。我假设jquery脚本中存在问题 查看 @Html.ListBoxFor(m => m.Mechanism.Controls, listofControls, new { @class = "chosen-sele
@Html.ListBoxFor(m => m.Mechanism.Controls, listofControls, new { @class = "chosen-select", @style = "width:350px", multiple = "multiple", @id="cmbcontrols" })
<script>
$(document).on('change', '#cmbcontrols', function () {
var dropdown = $("#cmbcontrols").val();
var isTrue = false;
var selectedOptions = dropdown.toString().split(',');
for (var i in selectedOptions) {
if (selectedOptions[i] == 2) {
isTrue = true;
}
i++;
}
if (isTrue) {
//sms mode is selected
$('#txtvalueselector').show();
$('#lblvalueselector').show();
}
else {
//dial mode is selected
$('#txtvalueselector').hide();
$('#lblvalueselector').hide();
}
});
</script>
@Html.ListBoxFor(m=>m.Mechanism.Controls,listofControls,新建{@class=“selected select”、@style=“width:350px”、multiple=“multiple”、@id=“cmbcontrols”})
$(文档).on('change','#cmbcontrols',函数(){
var下拉列表=$(“#cmbcontrols”).val();
var isTrue=假;
var selectedOptions=dropdown.toString().split(',');
用于(所选选项中的var i){
如果(选择选项[i]==2){
isTrue=真;
}
i++;
}
如果(是真的){
//选择sms模式
$('#txtvalueselector').show();
$('#lblvalueselector').show();
}
否则{
//选择拨号模式
$('#txtvalueselector').hide();
$('#lblvalueselector').hide();
}
});
我想问题在于for循环,您在i中获得了项,但将其视为数组的索引。试试这个代码
$.each(selectedOptions,function(i,obj) {
if (obj == 2) {
isTrue = true;
return false;
}
});
第一个问题是您的for(selectedOptions中的var i){if(selectedOptions[i]==2)@h,,ad:如果此问题已解决,请将答案标记为有用