<form id='a'>
<input id='b' value='dave'>
</form>
如何从输入'b'获取值,同时确保它在'a'内(类似$('#a:input[id=b]')
)。
我只是问,因为我的页面中可能还有其他名为'b'的输入,我想确保从正确的表单中获取值。
答案 0 :(得分:28)
您可以使用后代选择器执行此操作:
$("#a #b")
但是,id值在页面上应该是唯一的。
答案 1 :(得分:11)
例如:
var value = $("#a").find("#b").val()
答案 2 :(得分:3)
您可以直接定位ID:
var value = $('#b').val();
如果您在同一页面中有多个具有该ID的元素,则无论如何都无法正常工作。你必须确保id是唯一的。
如果您实际上正在使用不同页面的代码,并且只想在嵌套了id:s的那些页面上找到该元素,则可以使用后代运算符,即space:
var value = $('#a #b').val();
答案 3 :(得分:3)
如果您有多个具有相同ID的元素,则您的HTML无效。
但您可以使用类来实现相同的结果。这就是他们的目的。
<input class='b' ... >
如果需要,您也可以给它一个ID,但它应该是唯一的。
一旦你上课了,你就可以用点而不是哈希来引用它,如下所示:
var value = $('#a .b').val();
或
var value = $('#a input.b').val();
将它限制为表格中输入的'b'类元素(似乎接近你所要求的)。
答案 4 :(得分:0)
为什么不呢:
$('#b').click(function () {
var val = $(this).val();
})
或者如果你没有点击它(我想你不会)并且你将使用提交按钮,你也可以使用prev()
功能。