2013-05-22 66 views
0

我們有一個庫存頁面,我們需要填充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; 
      } 
     } 
+0

將jQuery轉換爲vanilla js – mshsayem

+0

可以分享我什麼是Vanila JS。 bcs我沒有意識到它 – user1835696

+0

香草JS沒有什麼特別的;只是原始的javascript:p – mshsayem

回答

0

您可以使用JQuery達到此目的。

在jquery中使用hide(),show()slideToggle()用於此目的。

因爲,你沒有特定的代碼,我不能在這裏寫整個代碼。

但你全球化志願服務青年可以看看以下鏈接:

1的slideToggle():

http://api.jquery.com/slideToggle/

2.隱藏():

​​

3.顯示():

http://api.jquery.com/show/

希望它有幫助。

+0

我試過這些東西,但性能不好 – user1835696

+0

性能不好意味着這是怎麼回事? – Freelancer

+0

我添加了代碼在頁面中查找控件它需要時間有時即時獲取停止腳本警告信息在IE – user1835696