我有多個name=dt_qty[]的input陣列
我再改變值的時候想去抓正在改變得這個陣列的index
我不管改變哪個input的值 alert出來都是 0
我有參考過這篇文章可是一樣沒辦法
https://stackoverflow.com/questions/492833/getting-correct-index-from-input-array-in-jquery
<input type='text' name='dt_qty[]' onchange='updateSum($(this).index())' value='1'>
<input type='text' name='dt_qty[]' onchange='updateSum($(this).index())' value='2'>
<input type='text' name='dt_qty[]' onchange='updateSum($(this).index())' value='3'>
<input type='text' name='dt_qty[]' onchange='updateSum($(this).index())' value='4'>
<script>
function updateSum(index){
alert(index);
}
</script>
改成下面這樣就可以
<input type='text' name='dt_qty[]' onchange='updateSum(this)' value='1'>
<input type='text' name='dt_qty[]' onchange='updateSum(this)' value='2'>
<input type='text' name='dt_qty[]' onchange='updateSum(this)' value='3'>
<input type='text' name='dt_qty[]' onchange='updateSum(this)' value='4'>
<script>
function updateSum(e){
alert($(e).index());
}
</script>
我想再問一下 如果我有加表格的話 是不是抓不到index
如果要用表格的話 要怎去抓他的index?
<table>
<tr>
<td><input type='text' name='dt_qty[]'></td>
</tr>
<tr>
<td><input type='text' name='dt_qty[]'></td>
</tr>
<tr>
<td><input type='text' name='dt_qty[]'></td>
</tr>
<tr>
<td><input type='text' name='dt_qty[]'></td>
</tr>
</table>
<script>
$('input[name="dt_qty[]"]').change(function(){
alert($(this).index());
});
</script>
輸出的index都是0
stytle704726
因為被table包住變成在不同區塊了
剛試了一下可以改成取tr的index$($(this)[0].parentNode.parentNode).index()