2013-03-12 27 views
0

我有一個列表視圖,其中包含一個下拉菜單,3個文本框,1個文本框包裹在一個範圍內以切換可見性和2個按鈕。 我無法訪問包裝在範圍中的文本框的屬性值和值。這可能與我試圖訪問它有關。任何幫助表示讚賞。查找文本框的值和屬性,如果包裹在範圍內

這裏是列表視圖:

<asp:ListView runat="server" ID="ListView1"> 
<LayoutTemplate> 
    <table id="tablesorter" style="border: solid 1px black; width: 55%;"> 
     <thead> 
      <tr> 
       <th> 
        <a href="#">Country</a> 
       </th> 
       <th> 
        <a href="#">Info.</a> 
       </th> 
       <th> 
        <a href="#">Action</a> 
       </th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr id="itemPlaceholder" runat="server" /> 
     </tbody> 
     <tfoot> 
     </tfoot> 
    </table> 
</LayoutTemplate> 
<ItemTemplate> 
    <tr> 
     <td> 
      &nbsp;&nbsp;<select id="Existing" data="<%# Eval("Type").ToString()%>" 
       class="Existing" style="width: 90px"> 
       <option value="0">USA</option> 
       <option value="1">CAN</option> 
       <option value="2">MEX</option> 
     </td> 
     <td> 
      <input size="4" data="" type="text" id="city" value="<%# Eval("City")%>" /> 
      <input size="4" data="" type="text" id="state" value="<%# Eval("State")%>" /> 
      <input size="4" data="" type="text" id="Phone" value="<%# Eval("PhoneNbr")%>" /> 
      <span class="ZipBox" id="ZipBox" style="visibility: hidden"> 
       <input maxlength="5" data="" class="zip" size="5" type="text" id="zip" value="<%# Eval("ZIP")%>" /> 
      </span> 
     </td> 
     <td> 
      <2 buttons here> 
     </td> 
    </tr> 
    </ItemTemplate> 
</asp:ListView> 

這裏是我的javascript在那裏我訪問所有的文本框的值,並且這樣的按鈕點擊...

$(.updatebuttonclick) 
     .click(function() { 
      var parent = $(this).parent().prev(); 
      var tr = $(this).closest('tr'); 

      var TypeNode = tr.find("select.Existing").first(); 
      var cityNode = parent.children(".city").first(); 
      var stateNode = parent.children(".state").first(); 
      var phoneNode = parent.children(".phone").first(); 
      var zipNode = parent.children(".zip").first(); 


      var newcity = cityNode.val(); 
      var originalcity = cityNode.attr('data'); 

      var newstate = stateNode.val(); 
      var originalstate = stateNode.attr('data'); 

      var newphone = phoneNode.val(); 
      var originalphone = phoneNode.attr('data'); 


      //check for business type for extension 
      if (newcity == "2") { 

       var newzip = zipNode.val(); 
       var originalzip = zipNode.attr('data'); 
      } 
}); 

回答

0

用ID剛剛訪問zipNode:

var zipNode = parent.find("#zip"); 
+0

給第一響應者...謝謝! – Jt2ouan 2013-03-12 20:25:58

0

您可以使用發現功能深入查找元素在DOM

var zipNode = parent.find(".zip"); 
1

是它的ID設置爲文本框,並通過訪問它們一樣容易:

document.getElementById('yourtextboxid').value 

document.yourformname.yourtextboxname.value 

$('#yourtextboxid').val()