jQuery最近不返回任何内容/找不到禁用的输入

时间:2015-07-30 17:38:11

标签: javascript jquery

我正在尝试创建一个按钮,该按钮可以启用最近的(上方)输入字段。

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)方法。

由于

1 个答案:

答案 0 :(得分:4)

你误解了closest()的作用。它查找祖先的DOM树。

您的输入不是按钮的祖先。这是按钮的父母的兄弟

尝试

 $(this).closest('span').siblings('input:disabled').val();

OR

$(this).parent().siblings('input:disabled').val();

参考:closest() api docs