我在我的MVC视图中使用以下html选择了多选小部件。
@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)。
我选择多分支分支的问题是当我点击刷新按钮时;具有类chzn-choice的ul的所有li元素都被清除。因为哪个选择的小部件在屏幕上显示为粗线,即由于li元素删除而将ul元素的高度设置为0。任何人都可以建议我选择的小部件出了什么问题吗?
答案 0 :(得分:0)
我弄错了。在刷新图标的点击事件中,我正在清除表单中的ul元素。 这也清除了我选择的小部件ul。 我修改了刷新按钮单击事件以删除语句
Form.find('ul').empty();
这用于清除之前在表格和表格中显示的所有错误消息。继续进行有效的用户输入。 而是清除ul现在我使用以下代码来删除应用于控件的错误类;以便从验证摘要中删除错误消息。
$('.input-validation-error')
.removeClass('input-validation-error');
$(".validation-summary-errors")
.removeClass("validation-summary-errors")
.addClass("validation-summary-valid");