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


111

我如何才能通过名称而不是通过ID获得元素的值,例如,如果我通过ID使用它将 $('#id').val();


1
“名字”是什么意思?
Natrium

3
但是,“名字”是什么意思?
kjagiello 2010年

6
我认为他的意思是<input id =“ ID” name =“ Name” type =“ text” />,即使用名称代替id字段。但这可能只是我对一个例子的解释;)
Ed James

您可以在那里使用任何CSS选择器(至少我没有遇到例外)
muka.gergely

Answers:


316

使用名称属性选择器:

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

3
另请注意,不必具有元素的类型。
rfunduk

5
为您+1尼克,因为您能够理解该问题。
kjagiello 2010年

4
@thenduks:虽然这是真的...通常在输入中找到名称,但这确实使选择器更快。
尼克·克雷弗

只是对此的更新。@NickCraver给定的方法对我不起作用,但是$(“:input [name = nameGoesHere]”)。val()在我的情况下有效。
Gunnrryy


9

使用名称属性选择器:

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

强制要求在值周围包括引号,请参阅:http : //api.jquery.com/attribute-equals-selector/


我只是想指出,在某些情况下(至少是我的情况),不需要放置“输入”部分。以下内容就足够了---> $(“ [[name ='nameGoesHere']”)。val();。虽然,我正在研究Oracle软件包。我正在看这篇文章以供参考,除非我从语句中删除了“输入”,否则它无法正常工作。以防万一其他人访问此职位以供参考,并且还与Oracle一起工作
user1898629

6

要获取值,我们可以使用多个属性,其中之一是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
//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

您也可以使用类名。

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.