在Jquery选择器中使用变量
我试图使用JQuery选择器中的一个变量和一个Id来选择正确的输入值,因为我有多个表单。如何将变量和id选择器一起使用 我的代码:在Jquery选择器中使用变量,jquery,Jquery,我试图使用JQuery选择器中的一个变量和一个Id来选择正确的输入值,因为我有多个表单。如何将变量和id选择器一起使用 我的代码: $("form").submit(function() { var id = $(this).attr("id"); //this grabs the id of the form being submitted var name = $("id #name").val(); <-- this is the line in questio
$("form").submit(function() {
var id = $(this).attr("id"); //this grabs the id of the form being submitted
var name = $("id #name").val(); <-- this is the line in question
});
$(“表单”).submit(函数(){
var id=$(this.attr(“id”);//它获取正在提交的表单的id
var name=$(“id#name”).val()您只是在连接一个字符串:
id + ' #name'
这使得
var name = $(id + " #name").val();
这很奇怪,因为id
可能不是一个元素,所以需要添加#
:
这仍然很奇怪,因为您奇怪地使用了id。只需像任何其他字符串一样构建选择器字符串:
var name = $("#" + id).val();
由于ID应该是唯一的,所以您真正需要的是$('#name')
在任何情况下,如果您想在另一个元素中找到一个元素,并且您已经有了对该元素的引用,请不要连接选择器(如果该元素没有ID怎么办?)。请改用遍历方法,例如:
var value = $(this).find('input[name="name"]').val();
请查看所有遍历方法:
如果确实需要动态构建选择器,请使用前面提到的字符串连接。选择器只不过是字符串。示例:
$('input[name="' + inputName + '"]')
您可以连接字符串以创建正确的选择器,也可以使用以下方法:
$('#name',this.val()
,这与write$(this.find('#name').val()
相同,使用标准javascript字符串连接,$('#name'+id+'#name').val()
假设id
是唯一的,您可以说$(“#name”).val()
。为什么要获取表单id?您可以使用提交的表单元素。+1.当您在中编辑时,我几乎输入完有关使用'input[name=“name”]'
的注释。
$('input[name="' + inputName + '"]')