JQuery点击后获取所有字段的值,除了这个最近字段的值(在多行中)

时间:2016-09-01 14:46:28

标签: javascript jquery

我有一个表,表的每一行都包含一个输入字段和一个输入按钮。 我正在寻找更简单的方法来选择所有"输入字段"除了当前行""输入字段"点击"输入按钮"每一行。 所有输入字段都包含相同的名称,行是动态生成的,不受限制。

示例Html:

 <table>
      <tr>
          <td><input type="text" name="name[]" value="Apple "></td>
          <td><input type="button" onclick="restOf(this)" value="Get Value"></td>
      </tr>
      <tr>
          <td><input type="text" name="name[]" value="Banana "></td>
          <td><input type="button" onclick="restOf(this)" value="Get Value"></td>
      </tr>
       <tr>
          <td><input type="text" name="name[]" value="Orange "></td>
          <td><input type="button" onclick="restOf(this)" value="Get Value"></td>
      </tr>
  </table>

我的js - (使用&#34; not()&#34;和&#34;最近的()&#34;功能)

<script>
  function restOf(obj){
    var selected    = '';
    $("input[name='name[]']").not($(obj).closest("input[name='name[]']")).each(function(){
            var value = $(this).val();
        selected += value;
     });
     alert(selected);
  }
</script>

预期结果:

If clicked Apple  row's "Get Value" button  = "Banana Orange"
If clicked Banana row's "Get Value" button  = "Apple  Orange"
If clicked Orange row's "Get Value" button  = "Apple  Banana"

1 个答案:

答案 0 :(得分:0)

最接近检查传递的选择器对元素本身及其祖先。在你的情况下,文本输入是&#34;堂兄&#34;按钮(按钮父级的兄弟的孩子),而不是祖先。

所以尝试用not()方法替换put:

$(obj).closest('td').siblings().children()