jQuery 选择器-> 如何获取使用 'id begins/ends with' 选择的字段的值?
jQuery Selectors-> How can I get the value of a field that was selected with 'id begins/ends with'?
我正在尝试获取 select 字段的值,但 .val() 似乎不起作用。
我通过使用开头和结尾得到 select 字段。
s_day = $("select[id ^='form-widgets'][id $='start-day']")
我打开一个表单,它找到了一个字段:
if(s_day.length > 0){
console.log(s_day[0]);
}
console.log 输出
<select class="day date-widget required date-field" name="form.widgets.entry_start-day" id="form-widgets-entry_start-day">
当我尝试时:
console.log(s_day[0].val())
我得到:
s_day[0].val is not a function
当我尝试手动输入 return 字段的 ID 时:
s_day = $("#form-widgets-IEventBasic-start-day");
console.log(s_day.val());
它 return 是一个月中的第几天(作为整数)。
如何使用我使用的方法获取 select 框的值?
我尝试这样做是有原因的。某些表单具有 'interfaces' 和 start/end 字段,字段 ID 匹配模式 select[id ^='form-widgets'][id $='start-day']
还有-月、-年等。
我想针对那些更改它们的默认值。
我现在能做的是:
s_day = $('select[id ^="form-widgets"][id $="start-day"]');
if(s_day.length > 0){
console.log($("#"+s_day[0].id).val());
}
这个 return 也是正确的月份日期。
但我不确定我是否应该那样做。
通过索引 returns 底层 DOM 元素访问 jQuery 对象,因此出现 'val is not a function' 错误。
如果要检索第一个找到的元素,请使用 first()
或 :first
,如下所示:
var s_day = $('select[id^="form-widgets"][id$="start-day"]:first').val();
console.log(s_day);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<select class="day date-widget required date-field" name="form.widgets.entry_start-day" id="form-widgets-entry_start-day">
<option value="foo">Foo</option>
</select>
我正在尝试获取 select 字段的值,但 .val() 似乎不起作用。
我通过使用开头和结尾得到 select 字段。
s_day = $("select[id ^='form-widgets'][id $='start-day']")
我打开一个表单,它找到了一个字段:
if(s_day.length > 0){
console.log(s_day[0]);
}
console.log 输出
<select class="day date-widget required date-field" name="form.widgets.entry_start-day" id="form-widgets-entry_start-day">
当我尝试时:
console.log(s_day[0].val())
我得到:
s_day[0].val is not a function
当我尝试手动输入 return 字段的 ID 时:
s_day = $("#form-widgets-IEventBasic-start-day");
console.log(s_day.val());
它 return 是一个月中的第几天(作为整数)。
如何使用我使用的方法获取 select 框的值?
我尝试这样做是有原因的。某些表单具有 'interfaces' 和 start/end 字段,字段 ID 匹配模式 select[id ^='form-widgets'][id $='start-day'] 还有-月、-年等。 我想针对那些更改它们的默认值。
我现在能做的是:
s_day = $('select[id ^="form-widgets"][id $="start-day"]');
if(s_day.length > 0){
console.log($("#"+s_day[0].id).val());
}
这个 return 也是正确的月份日期。
但我不确定我是否应该那样做。
通过索引 returns 底层 DOM 元素访问 jQuery 对象,因此出现 'val is not a function' 错误。
如果要检索第一个找到的元素,请使用 first()
或 :first
,如下所示:
var s_day = $('select[id^="form-widgets"][id$="start-day"]:first').val();
console.log(s_day);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<select class="day date-widget required date-field" name="form.widgets.entry_start-day" id="form-widgets-entry_start-day">
<option value="foo">Foo</option>
</select>