我們有一個庫存頁面,我們需要填充70列的值,即70個差異控件類型。基於DropDown更改事件顯示隱藏控件
但客戶希望基於特定下拉類型選擇輸入強制性列,並且他也不想查看非強制性控件。他還希望有一個頁面映射哪一列是強制性的哪種類型的
例子:
對於學生學院是一個強制性的領域,公司是一個非強制性領域的客戶希望看到的學院單獨的文本框不是公司文本框 對於員工學院和公司這兩個都是強制性的因此,客戶希望看到兩個文本框。
嘗試使用jQuery進行少數控件的性能很好,但對於70個控件來說性能很差。有沒有其他辦法可以有效地做到這一點。
70個輸入控件和70個標籤位於我的頁面中所有控件的可見性必須基於單個下拉式更改事件進行更改。
Jquery Function;
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;
}
}
將jQuery轉換爲vanilla js – mshsayem
可以分享我什麼是Vanila JS。 bcs我沒有意識到它 – user1835696
香草JS沒有什麼特別的;只是原始的javascript:p – mshsayem