2013-02-13 53 views
0

試圖根據條件隱藏包含文本和文本框的跨度。這設置每個下拉的值後,我想檢查每個設置值,如果該值不等於10,那麼我想隱藏跨度。任何幫助都會很棒。此代碼似乎隱藏所有的跨度,而不是不屬於那些10使用Javascript隱藏基於條件的html跨度

$('.existing') 
    .each(function() { 
     var DD1 = $(this).attr('current'); 
     $(this).val(DD1); 
     console.log(DD1); 

//上面所選擇的HTML下拉的價值,下面應該檢查該值和跨度隱藏如果它不是10

它包含列表視圖唯一
 var parent = $(this).parent().prev(); 
     var tr = $(this).closest('tr'); 
     if ($(this).val(DD1) !== "10") { 
      var hide = tr.find(".hideifnot").hide(); 
     } 
    }); 



<asp:ListView runat="server" id="ListView1" > 
    <LayoutTemplate> 
      <thead> 
       <tr> 
        <th> 
         <a href="#">Type</a> 
        </th> 
        <th> 
         <a href="#">Address</a> 
        </th>                      
       </tr> 
      </thead> 
      <tbody> 
       <tr id="itemPlaceholder" runat="server" /> 
      </tbody> 
      <tfoot> 
      </tfoot> 
     </table> 
    </LayoutTemplate> 
    <ItemTemplate> 
     <tr> 
    <td> 
        <select id="DD" current="" class="existing"> 
        </select> 
    </td> 
      <td> 
       <input type="text" id="Type" class="TypeText " value="<%# Eval("Type")%>" />      
       <span class="HideifNot"> Address: <input type="text" id="Addr" class="AddrText " value="<%# Eval("Address")%>" /> </span>    
      </td> 
      <td> 
       <input type="button" id="btn_update" class="Update" value="Update" /> 
       <input type="button" id="btn_delete" class="Delete" value="Delete" /> 
      </td> 
     </tr> 
    </ItemTemplate> 
</asp:ListView> 

客戶端被綁定列表,以它:

protected void Page_Load(object sender, EventArgs e) 
    { 
      if (!IsPostBack) 
      { 
       People i = Data; 
       ListView1.DataSource = i.Addresses; 
       ListView1.DataBind(); 
      }   

    } 
+1

你的課是'.existing'。如果您希望匹配選擇器'.existing',請將其更改爲'existing'' – Curt 2013-02-13 13:51:40

+0

您能否顯示實際生成的HTML?生成HTML的服務器端/模板腳本與您的問題無關。 (我也非常肯定'.'是一個無效字符,可以在類名中使用。) – 2013-02-13 13:52:16

+0

hmm ...?不確定你想讓我顯示什麼 – Jt2ouan 2013-02-13 13:54:17

回答

0

你的選擇缺少收盤>

它應該是:

<select id="DD" current="" class="existing">

相反的:

<select id="DD" current="" class="existing"

編輯: 此外,你應該改變:

var hide = tr.find(".hideifnot").hide(); 

收件人:

var hide = tr.find(".HideifNot").hide(); 
+0

它是否做出任何改變? – banana 2013-02-13 15:34:51

+0

沒有改變對不起 – Jt2ouan 2013-02-14 14:04:45

+0

所以也許你可以發佈'asp:ListView'的客戶端代碼?這個代碼很難想象是什麼問題。 – banana 2013-02-14 14:36:12