我继承了一些形式:
<tr>
<form method="post" action="\">
<td><input disabled type="text" name="t1" id="t1" value=""></td>
<td><input disabled type="email" name="t2" id="t2" value=""></td>
<td><input disabled type="email" name="t3" id="t3" value=""></td>
<td><input type="submit" id="edit" value="Edit"></td>
<td><input type="submit" name="change" value="Change"></td>
</form>
</tr>
<tr>
<form method="post" action="\">
<td><input disabled type="text" name="t1" id="t1" value=""></td>
<td><input disabled type="email" name="t2" id="t2" value=""></td>
<td><input disabled type="email" name="t3" id="t3" value=""></td>
<td><input type="submit" id="edit" value="Edit"></td>
<td><input type="submit" name="change" value="Change"></td>
</form>
</tr>
....
当我点击#edit
按钮时,我想将链上移到自己的table
,选择所有input
个孩子并删除disabled
属性,但仅限对于那种形式。
我试过这样的事情:
$('#edit').on("click", function(e){
e.preventDefault();
var form = $(this).parent("form");
// or maybe a $.each ??
form.children('input').removeAttr("disabled");
});
有什么想法吗?
答案 0 :(得分:2)
$(this).parent()
实际上是<td>
,所以它什么都不返回。
$(this).closest('form').find('input').prop('disabled', false);
答案 1 :(得分:0)
$('#edit').on("click", function(e){
e.preventDefault();
var form = $(this).closest("form");
// or maybe a $.each ??
form.find('input').attr("disabled","");
});
改为使用closest
和find
。
parent
指的是确切的父级,而closest
找到树的第一个匹配。 children
是直接的孩子,而不是大孩子。