我有2个listboxfors。当我在第一个列表框中进行选择时,我需要它在随后的listboxfors中自动选择相应的选项。如果我选择单个项目(儿童),则会得到所需的结果。我遇到的问题是,如果我同时选择了两个项目(子项),则在后续的listboxfors中都没有选择两个项目。下面是我的listboxfors。
@Html.ListBoxFor(m => m.MajorMultiSelects,new MultiSelectList(Model.Majors,"Code","Name"),new { style = "/*display:block;*/" })
@Html.ListBoxFor(m => m.MultiSelectMajorGpas,new MultiSelectList(Model.MajorGpas,new { style = "/*display:block;*/" })
下面是我用来选择的jQuery。
$("#MajorMultiSelects").change(function() {
console.log("change");//MultiSelectMajorGpas
if ($('#MajorMultiSelects option:nth-child(1)').is(":selected")) {
console.log("1");
$("#MultiSelectMajorGpas option:eq(0)").prop("selected",true);
$("#MultiSelectMajorGpas option:eq(1)").prop("selected",false);
}
else if ($('#MajorMultiSelects option:nth-child(2)').is(":selected")) {
console.log("2");
$("#MultiSelectMajorGpas option:eq(0)").prop("selected",false);
$("#MultiSelectMajorGpas option:eq(1)").prop("selected",true);
}
//else if ($('#MajorMultiSelects option:nth-child(1)').is(":selected") && $('#MajorMultiSelects option:nth-child(2)').is(":selected")) {//This works opposite of what I need. If both items are not selected in listboxfor 1 then items in listboxfor 2 are both selected which is not what I want.
// console.log("1 & 2");
// $("#MultiSelectMajorGpas option:eq(0)").prop("selected",true);
// $("#MultiSelectMajorGpas option:eq(1)").prop("selected",true);
//}
//else {//This doesn't work at all.
// $("#MultiSelectMajorGpas option:eq(0)").prop("selected",true);
//}
});
我的listboxfors如下:
<select multiple id="MajorMultiSelects">
<option value="Criminal Justice">Criminal Justice</option>
<option value="Computer Science">Computer Science</option>
</select>
<select multiple id="MultiSelectMajorGpas">
<option value="4">4</option>
<option value="3.45">3.45</option>
</select>