2016-06-07 187 views
0

我正在使用C#MVC開發Web應用程序。其中一頁有幾個div,其中頁面加載時隱藏,除非它們包含從數據庫中提取的信息。用戶有一個下拉菜單,可以從中選擇合適的div顯示。目前我實現這個使用jQuery爲:根據信息顯示和隱藏div

function showDiv() { 
    var divID = $("#usersddl option:selected").val(); 
    $("#" + divID).show(); 
    $("#" + divID).siblings().hide(); 
} 

目前該函數被調用的usersddlonchange

如果當前沒有任何信息,每個下拉選項都會保存在數據庫中,以及用戶在div中提供的信息。我似乎無法弄清楚如何總是顯示div如果它包含信息,否則顯示在下拉選中。

+0

, –

+0

能給一個例子與角度請,如果你不介意 – Code

回答

1

你可以寫一些jQuery來遍歷頁面上的所有div,並檢查每個div中輸入字段的值。如果div只包含空輸入,則隱藏它,否則顯示它。

<head runat="server"> 
    <title></title> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(function() { 
      $('.infoDiv').each(function (i, obj) { 

       var textboxes = $(this).find("input[type=text]"); 

       var containsInfo = false; 

       for(var i = 0; i < textboxes.length;i++) 
       { 
        var text = $(textboxes[0]).val(); 
        if (text != "") 
         containsInfo = true; 
       } 

       if (!containsInfo) 
        $(this).hide(); 

      }); 

     }) 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div class="infoDiv"> 
    <table> 
     <tr> 
      <td>Name</td> 
      <td><input type="text" value="Some name..." /></td> 
     </tr> 
    </table> 
    </div> 
     <div class="infoDiv"> 
    <table> 
     <tr> 
      <td>Name</td> 
      <td><input type="text" /></td> 
     </tr> 
    </table> 
    </div> 
    </form> 
</body> 
與像淘汰賽或角有約束力的框架更容易
+0

我用類似的方法來你的,達到所需的知識。我感謝您的幫助 – Code