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();
}
});