我正在尝试创建一个按钮,该按钮可以启用最近的(上方)输入字段。
HTML:
<input class="form-control" name="name" type="text" disabled/>
<span class="input-group-btn">
<button class="btn btn-default btn-input-activate" type="button">Change</button>
</span>
JavaScript的:
$('.btn-input-activate').click(function () {
var value = $(this).closest('input:disabled').val();
alert("value is: " + value);
});
}
我不明白为什么这不起作用(警报显示&#34;值是:undefined&#34;)。
我想使用closest()
来避免在parent()
上使用多个$(this)
方法。
由于
答案 0 :(得分:4)
你误解了closest()
的作用。它查找祖先的DOM树。
您的输入不是按钮的祖先。这是按钮的父母的兄弟
尝试
$(this).closest('span').siblings('input:disabled').val();
OR
$(this).parent().siblings('input:disabled').val();