2013-05-22 39 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