Javascript 从特定tr元件中选择输入值

Javascript 从特定tr元件中选择输入值,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我有这样的桌子: <tr id="t0" > <td id="0"></td> <td ><input name="0" style="width:20px;" type="text" />- <input name="1" style="width:20px;" type="text" /> <button onclick="write(0)" >+</button></td&

我有这样的桌子:

<tr id="t0" >
  <td id="0"></td>
  <td ><input name="0" style="width:20px;" type="text" />-
  <input name="1" style="width:20px;" type="text" />
  <button onclick="write(0)" >+</button></td>
</tr>
<tr id="t1" >
  <td id="1"></td>
  <td ><input name="1" style="width:20px;" type="text" />-
  <input name="2" style="width:20px;" type="text" />
  <button onclick="write(1)" >+</button></td>
</tr>


但没什么。。。有人能给我指出正确的答案吗?

您可以使用
.map
获取所有值,因为
.val()
只提供第一次输入的值。您的每一行都有一个id;因为ID是唯一的,所以您只需要选择一个特定的行

var t = $('#t0').find('input').map(function() {
    return this.value;
}).get();
alert(t);
var t=$('#t0').find('input').map(函数(){
返回此.value;
}).get();
警报(t)

-
+
-
+

什么是
id
?正如您所知,ID是唯一的,为什么要使用那些低效的选择器<代码>$('#'+id)
就足够了。您需要添加“t”$('table#tbl tr#t'+id)。此外,请注意,有效的id选择器应该以字母开头@Teemu嗯,不是在html5中,但这并不意味着你应该使用数字,如果你关心旧浏览器,这是一种不好的做法,这就是你所说的“不”?:)@Teemu你是对的,但是id选择器不能以数字开头。id=“1x”正常,但选择器#1x不正常。但你可以逃避它,例如
var t = $('tr'+id+':has(input)').val();
  alert(t);
var t = $('#t0').find('input').map(function() {
    return this.value;
}).get();
alert(t);