如果表有两行,那么最接近是不确定的?

时间:2014-08-09 08:54:51

标签: javascript jquery

我的每一行都有一个带按钮的表。我想得到最接近的按钮。如果表只有一行,那么获取输入值是好的,但如果表有两行或多行,我得到的值是“ 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>

我该如何解决?

2 个答案:

答案 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);
    }

希望这段代码有用。