Php jQuery从邻近的TD获取输入名称数组键值

Php jQuery从邻近的TD获取输入名称数组键值,php,jquery,html,Php,Jquery,Html,很难在标题中解释,但一点代码说明了一切: <tr class=""> <td> <input value="9" name="set[122][order]"></input> <input class="set-id" type="hidden" value="1" name="set[122

很难在标题中解释,但一点代码说明了一切:

<tr class="">
  <td>
    <input value="9" name="set[122][order]"></input>
    <input class="set-id" type="hidden" value="1" name="set[122][ex_id]"></input>
  </td>
  <td>
    <input value="0.00" name="set[122][weight]"></input>
  </td>
  <td> … </td>
  <td>
    <img class="deleteRowButton" border="0" title="Toggle Delete Set" alt="Delete Set" src="mysite/images/icons/png/delete-3x.png"></img>
  </td>
</tr>
提前谢谢


解决方案 感谢@ArunPJohny的帮助

$('.deleteRowButton').click (function() {
  var $tr = $(this).parents("tr").toggleClass( "deleteSet" );
  var id = $tr.find('.set-id').attr('name').match(/\d+/)[0];

  if($tr.hasClass( "deleteSet" )){
    $('.editWoForm').append('<input type="hidden" name="deleteSet[]" value="' + id + '" />');
  }
  else{
    $('input[name="deleteSet[]"][value="' + id + '"]').remove();
  }
});
$('.deleteRowButton')。单击(函数(){
var$tr=$(this.parents(“tr”).toggleClass(“deleteSet”);
var id=$tr.find('.set id').attr('name').match(/\d+/)[0];
如果($tr.hasClass(“deleteSet”)){
$('.editworm')。追加('');
}
否则{
$('input[name=“deleteSet[]”][value=“”+id+“]”)。remove();
}
});

这将获得id,将所述id作为值附加一个隐藏的输入字段,然后如果再次按下按钮(切换删除状态),隐藏的输入字段将被删除。

这里的一种方法是对当前
tr
元素中的
set id
元素进行微调。您试图做的是在
td
中找到一个
set id
,其中包含单击的
deleteRowButton

$('.deleteRowButton')。单击(函数(){
//使用最近的而不是父母
var$tr=$(this).closest(“tr”).toggleClass(“deleteSet”);
//在当前tr中查找集合id
var id=$tr.find('.set id').attr('name').match(/\d+/)[0];
//$('.editworm')。追加('');
$('#log')。文本(id)
});

… 
… 

这不是抓住了
属性吗?在本例中,它是=
1
。这不是我想得到的,我想得到的是
122
内部
name=“set[122][xxx]
Aha,这很好。不过我坚持我原来的策略,添加一个隐藏的输入,因为我只想构建一个数组(deleteSet[])要删除的项目数。现在我可以这样做了,谢谢!但是如果我改变主意,再次按下删除按钮,toggleClass将删除类
deleteSet
,但它会添加另一个隐藏输入,因为我再次单击了按钮。我需要以某种方式切换隐藏输入,以匹配TR的类。再次感谢!
<input type="hidden" name="deleteSet[]" value="122" />
$('.deleteRowButton').click (function() {
  var $tr = $(this).parents("tr").toggleClass( "deleteSet" );
  var id = $tr.find('.set-id').attr('name').match(/\d+/)[0];

  if($tr.hasClass( "deleteSet" )){
    $('.editWoForm').append('<input type="hidden" name="deleteSet[]" value="' + id + '" />');
  }
  else{
    $('input[name="deleteSet[]"][value="' + id + '"]').remove();
  }
});