[英]Getting closest input value from clicked element with jQuery
我有以下标记:
<div class="options">
<div class="quantity">
<label>Qty:</label>
<input type="text" name="quantity" value="1"/>
</div>
<div class="buttons">
<a href="#" class="add">Add Item</a>
</div>
</div>
我有一个使用 jQuery 绑定到“添加”类的点击事件。 当我点击它时,我想获得 name="quantity" 的值,但是有几个地方点击了“添加”和几个数量字段。
我正在尝试获得“最接近”的输入值。 我试过使用 'closest' 和 'findall' ,但没有运气。
知道如何使用 jQuery 获得它吗? 谢谢!
$(".add").on("click", function () {
var val = $(this).closest("div.options").find("input[name='quantity']").val();
});
这里的策略是:
closest
的找到与给定选择器匹配的最近祖先(在这种情况下是一个带有 class option
的div
)find
使用属性 equals selector查找具有给定name
的input
。val
检索input
的值。您需要使用closest
来找到合适的封闭元素,然后从那里开始工作。
$(link).closest(".options").find("input[name=quantity]")
$(this).parent().parent().find("input[name=quantity]").val()
这应该可以解决问题
我猜最接近的作品仅适用于相同级别的元素。 所以..
为什么不将 id 放入输入字段并按$('#input-id')
?
或者遍历类选项并在那里找到输入: $(this).parents('.options:first').find('input');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.