jQuery表单输入由id选择

时间:2011-04-19 12:02:14

标签: jquery

代码

<form id='a'>
  <input id='b' value='dave'>
</form>

问题

如何从输入'b'获取值,同时确保它在'a'内(类似$('#a:input[id=b]'))。

我只是问,因为我的页面中可能还有其他名为'b'的输入,我想确保从正确的表单中获取值。

5 个答案:

答案 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()功能。