我的要求是,当用户从第一个下拉列表中选择项目代码时,将在第二个下拉列表中填充该项目代码对应的项目名称,反之亦然。
这是我的代码:
<select id="ItemCode" class="ItemCode form-control" style="width: 200px;">
<option value='Select'>- Search ItemCode -</option>
</select>
<select id="ItemName" class="ItemName form-control" style="width: 200px;">
<option value='Select'>- Search ItemName -</option>
</select>
.js文件:
$("#ItemCode").select2({
ajax: {
url: "/Dashboard/GetItemCodeList",
type: "post",
dataType: 'json',
delay: 250,
data: function (params) {
return {
searchTerm: params.term // search term
};
},
processResults: function (response) {
return {
results: response
};
},
cache: true
}
});
$("#ItemName").select2({
ajax: {
url: "/Dashboard/GetItemNameList",
type: "post",
dataType: 'json',
delay: 250,
data: function (params) {
return {
searchTerm: params.term // search term
};
},
processResults: function (response) {
return {
results: response
};
},
cache: true
}
});
控制器:
/*ItemCode Choose From List*/
public JsonResult GetItemCodeList(string SearchTerm)
{
if (SearchTerm == null)
SearchTerm = string.Empty;
var searchData = SBOConnection.GetItemMasterDetails("Code").Where(x => x.id.Contains(SearchTerm)).ToList();
return Json(searchData, JsonRequestBehavior.AllowGet);
}
/*ItemName Choose From List*/
public JsonResult GetItemNameList(string SearchTerm)
{
if (SearchTerm == null)
SearchTerm = string.Empty;
var searchData = SBOConnection.GetItemMasterDetails("Name").Where(x => x.text.Contains(SearchTerm)).ToList();
return Json(searchData, JsonRequestBehavior.AllowGet);
}
如何通过选择ItemCode Select2下拉菜单来更改ItemName Select2下拉菜单的值?