2014-01-14 40 views
0

我有列表和循環它的表,我有表是這樣的:我們如何使用js在循環表中獲取隱藏值?

<table class="table table-striped"> 
<tr> 
    <td>Hidenfield</td> 
    <td>Dropdownlist</td> 
</tr> 
//loop here and have result 
    <tr> 
    <td><input type='hiden' value='1' class='myclass'/></td> 
    <td> 
     <select id="cateActive" class="activeStatus" name="cateActive"> 
     <option selected="selected" value="1">Active</option> 
     <option value="0">Deactive</option> 
     </select> 
    </td> 
    </tr> 
    <tr> 
    <td><input type='hiden' value='2' class='myclass'/></td> 
    <td> 
     <select id="cateActive" class="activeStatus" name="cateActive"> 
     <option selected="selected" value="1">Active</option> 
     <option value="0">Deactive</option> 
     </select> 
    </td> 
    </tr> 
    <tr> 
    <td><input type='hiden' value='3' class='myclass'/></td> 
    <td> 
     <select id="cateActive" class="activeStatus" name="cateActive"> 
     <option selected="selected" value="1">Active</option> 
     <option value="0">Deactive</option> 
     </select> 
    </td> 
    </tr> 
</table> 

,我有一個jQuery函數是這樣的:

$(document).ready(function(){  
    $(".activeStatus").change(function(){ 

     var categoryId = $('.myclass').val(); 
     alert(categoryId); 

}); 
}); 

,當我點擊它有任何下拉列表顯示值爲1,如何在任何dropdownbox上行動以獲得行中的隱藏值?

回答

1

您可以使用.closest()組合.find()

var categoryId = $(this).closest('tr').find('.myclass').val(); 

Fiddle DEMO

+0

是的,它爲我工作,謝謝你非常多Satpal –

1

試試這個代碼:

$(document).ready(function(){  
    $(".activeStatus").change(function(){ 
     var categoryId = $(this).parent().prev().find('.myclass').val(); 
     alert(categoryId); 
    }); 
}); 
1

Here is working demo

使用委託作爲你添加在運行時行選擇部分icular行元素:

$(document).ready(function(){  
    $(".activeStatus").on('change',function(){  
     var categoryId = $(this).closest('tr').find('.myclass').val(); 
     alert(categoryId);  
    }); 
}); 
+0

非常感謝你的回答 –

+0

很高興你得到了解決方案:) –

0

由於$('.myclass')返回與多於一個的元件的陣列和.val()返回普通呼叫總是從第一elment的值。所以你必須遍歷數組 - 這裏categoryId是你的結果數組(或列表)。

相關問題