我使用以下 html 在我的 MVC 视图上使用选择的多选小部件。
@Html.DropDownListFor(m => m.Branch, new SelectList(ViewBag.Branches, "Value", "Text"), new { @class = "chzn-select-deselect", data_placeholder = "Select Branch", @multiple = "true" })
我在输入类型提交的视图上有刷新图标;点击我有以下代码。
$("#dbRefresh").click(function (e) {
e.preventDefault();
var Form = $("form[id='FrmDashBoard']");
Form.validate();
if (Form.valid()) {
Form.find('ul').empty();
var fromDate = $("#FromDate").val();
var toDate = $("#ToDate").val();
var BranchList = $("#Branch").val();//chosen multiselect widget
var BranchString = "";
if (BranchList != null)
$.each(BranchList, function (index, item) {
BranchString += item + ",";
});
if (BranchString.length > 0)
BranchString = BranchString.slice(0, -1);
$.ajax({
type: "POST",
url: '@Url.Action("SetDashBord_DateFilter", "Home")',
dataType: "json",
data: { FromDate: fromDate, ToDate: toDate, Branches: BranchString }
});
DisplayPOXOrderStatistics(fromDate, toDate, BranchString);
DisplayPOXCompletedOrdersData(fromDate, toDate, BranchString);
DisplayHSTOrderStatisticsData(fromDate, toDate, BranchString);
DisplayPOXCompletedOrderPieChart(fromDate, toDate, BranchString);
DisplayCurrentYearlyTrends(BranchString);
}
$("#Branch").trigger("liszt:updated");
return false;
});
在上面调用的所有函数中,只进行 ajax 调用和 onsuccess,其中更新了该视图中的 html 的某些部分(某些 div 元素的内部 html)。
我选择多选分支时遇到的问题是,当我单击刷新按钮时;ul 中具有 chzn-choices 类的所有 li 元素都将被清除。因为选择的小部件在屏幕上显示为粗线,即由于 li 元素删除,ul 元素的高度设置为 0。有人可以建议我选择的小部件出了什么问题吗?