如何通过名称获取元素的值而不是ID

139

如何通过属性name而不是ID获取元素的值。例如,如果使用ID,则为$('#id').val();


1
你说的“name”是什么意思? - Natrium
3
你说的“name”是指什么? - kjagiello
7
我认为他的意思是使用名称而不是ID字段,即<input id="ID" name="Name" type="text" />。但这可能只是我用一个例子来解释他的意思 ;) - Ed James
你可以在那里使用任何CSS选择器(至少我没有遇到过例外) - muka.gergely
10个回答

382
使用name属性选择器:
$("input[name=nameGoesHere]").val();

4
请注意,具有元素类型并非必需。 - rfunduk
5
谢谢你的夸奖,我很高兴为您提供帮助。+1 是对你的赞扬,因为你能够理解这个问题。 - kjagiello
4
尽管如此,通常情况下name会出现在输入框中,这确实可以使选择器更快。 - Nick Craver
1
只是更新一下。@NickCraver提供的方法对我没有起作用,但是$(":input[name=nameGoesHere]").val()在我的情况下有效。 - Gunnrryy
@Gunnrryy 是正确的,对于 $("input[name="xxxx"]"),文本字段对我有效,但是在选择元素上返回了 undefined 的值,$(":input[name="xxxx"]")(添加 : )解决了我的问题。 - user1620090
如果你想要使用所选单选框的值,可以使用$("input[name=nameGoesHere]:checked").val()。 - Joel Davis

52
$('[name=whatever]').val()

jQuery 文档 是你的朋友。


16

我只想指出,在某些情况下(至少在我的情况下),没有必要加上“input”部分。以下内容就足够了--->$("[name='nameGoesHere']").val();。虽然,我是在Oracle包内工作。我正在参考这篇文章,并且除非我从语句中删除“input”,否则无法使其正常工作。以防其他人参考此帖并且也在使用Oracle。 - user1898629

8

要获取值,我们可以使用多个属性,其中之一是name属性。例如:

$("input[name='nameOfElement']").val();

我们还可以使用其他属性来获取值。 HTML
<input type="text" id="demoText" demo="textValue" />

JS

$("[demo='textValue']").val();

1
这个很好用.. 这里的btnAddCat是按钮ID。
$('#btnAddCat').click(function(){
        var eventCategory=$("input[name=txtCategory]").val();
        alert(eventCategory);
    });

1

还有一件事:当您使用“缩写变量赋值”时,也需要使用双引号,并且不需要使用“input”单词!

valInput  = $(`[name="${inputNameHere}"]`).val();

1
//name directly given
<input type="text" name="MeetingDateFrom">
var meetingDateFrom = $("input[name=MeetingDateFrom]").val();

//Handle name array
<select multiple="multiple" name="Roles[]"></select>
 var selectedValues = $('select[name="Roles[]"] option:selected').map(function() {
    arr.push(this.value);
  });

0

绿色背景部分使用哪个元素?只需输入元素名称,不要包含“<”和“>”字符。例如,如果答案是<P>元素,则输入P,而不是<P>


0
let startDate = $('[name=daterangepicker_start]').val();
alert(startDate);

-1

你也可以使用类名。

$(".yourclass").val();

问题是关于使用名称而不是类获取值。 - newbdeveloper

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接