我的每一行都有一个带按钮的表。我想得到最接近的按钮。如果表只有一行,那么获取输入值是好的,但如果表有两行或多行,我得到的值是“ undefined“。我不明白为什么?我使用jquery代码:
var barcodName=$(id).closest('tr').find('.name').attr('value');
alert(barcodeName.value);
这是表的GUI。
<table>
<tr>
<td>
<input type='button' value='Save' onclick='saveValue(this);'/>
</td>
<td>
<input type='text' class='name' />
</td>
<td>
<input type='text' class='series' />
</td>
</tr>
<tr>
<td>
<input type='button' value='Save' onclick='saveValue(this);'/>
</td>
<td>
<input type='text' class='name' />
</td>
<td>
<input type='text' class='series' />
</td>
</tr>
</table>
我该如何解决?
答案 0 :(得分:0)
我会删除内联onclick并使用nonobstrusive jquery .on给每个按钮一个类(例如saveButton)
此外,您可以使用jquery val()来获取该值
所以它会是这样的
$('.saveButton').on('click', function(){
var barcodName=$(this).closest('tr').find('.name').val();
});
哟可以找到一个小提琴here。请注意,我使用console.log而不是alert来检查值
答案 1 :(得分:0)
像这样使用:
<table>
<tr>
<td>
<input type='button' value='Save' onclick="saveValue(this);" />
</td>
<td>
<input type='text' class='name' value="data1" />
</td>
<td>
<input type='text' class='series' />
</td>
</tr>
<tr>
<td>
<input type='button' value='Save' onclick="saveValue(this);" />
</td>
<td>
<input type='text' class='name' value="data2" />
</td>
<td>
<input type='text' class='series' />
</td>
</tr>
</table>
脚本:
function saveValue(data) {
var barcodName = $(data).closest('tr').find('.name').attr("value");
alert(barcodName);
}
希望这段代码有用。