我们有一个库存页面,我们需要填写 70 列的值,即 70 种不同类型的控件。
但客户希望根据特定下拉类型选择输入必填列,并且他也不想查看非必填控件。他还想要一个页面来映射哪个列对于哪个类型是强制性的
例子:
对于 学生学院是必填字段,而公司是非必填字段,客户希望单独查看大学文本框,而不是员工学院和公司的公司文本框两者都是强制性的,因此客户希望同时查看文本框。
尝试对少数控件使用 jQuery,性能很好,但对于 70 个控件,性能很差。有没有其他方法可以有效地做到这一点。
我的页面中有 70 个输入控件和 70 个标签,所有控件的可见性都必须基于单个下拉更改事件进行更改。
jQuery函数;
function GetControlVisiblityByAssetID(assetID) {
var service = getAbsolutePath() + "/Services/CMDBServices.asmx/GetControlVisiblityByAssetID"
$.ajax({
type: "POST",
url: service,
data: "{'assetId' : '" + assetID + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var reference = (typeof response.d) == 'string' ? eval('(' + response.d + ')') : response.d;
for (var j = 0; j < reference.length; j++) {
ControlName[j] = reference[j].ControlName;
IsVisible[j] = reference[j].IsVisible;
ControlType[j] = reference[j].ControlType;
if (IsVisible[j]) {
$("\"" + GetSelectorType(ControlType[j]) + "\"[id$=" + ControlName[j] + "]").show();
}
else {
$("\"" + GetSelectorType(ControlType[j]) + "\"[id$=" + ControlName[j] + "]").hide();
}
}
}
});
}
function GetSelectorType(ControlType) {
switch (ControlType) {
case 'TextBox':
return "input";
break;
case 'DropDown':
return "select";
break;
case 'lable':
return;
break;
}
}