我们有一个库存页面,我们需要填充70列的值,即70 diff类型的控件。
但客户希望根据特定下拉类型选择输入强制列,他也不想查看非强制性控件。他还想要一个页面来映射哪个列对于哪种类型是强制性的
示例:
对于学生学院是必填字段,公司是非强制性字段,客户希望单独看大学文本框,而不是公司文本框 对于员工学院和公司两者都是强制性的因此,客户希望同时看到文本框。
尝试使用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;
}
}
答案 0 :(得分:0)
您可以将JQuery
用于此目的。
在Jquery中,为此目的使用hide()
,show()
或slideToggle()
函数。
因为,你没有特定的代码,我不能在这里编写完整的代码。
但是你可以看看下面的链接:
<强> 1。的slideToggle():强>
http://api.jquery.com/slideToggle/
<强> 2。 hide():
第3。 show():
希望它有所帮助。