jQuery可以检测更改时的选择值,但不能检测页面加载?

时间:2013-05-01 11:47:20

标签: jquery

我的页面上有一个选择元素,名称为[car_id]

我可以在更改选项时检测到该值,但如果我在页面加载时尝试获取该值,则只是“未定义”。

所以,这样可行:

$('select[name=booking\\[car_id\\]]').change(function() {
    alert(this.value);
});

返回undefined:

alert($('select[name=booking\\[car_id\\]]').value);

我错过了一些简单的东西吗?

任何建议表示赞赏。

由于

3 个答案:

答案 0 :(得分:3)

您应该使用val方法,jQuery对象没有value属性,还要确保DOM已准备就绪:

$(function(){
  alert($('select[name=booking\\[car_id\\]]').val());
});

您还可以触发change事件,因此处理程序在页面加载时执行:

$('select[name=booking\\[car_id\\]]').change(function() {
    alert(this.value);
}).change();

答案 1 :(得分:2)

试试这个 -

$(document).ready(function(){
 alert($('select[name=booking\\[car_id\\]]').val());
});

答案 2 :(得分:1)

您使用的是javascript DOM的功能,而不是$ obj .val()

alert($("select[name=booking\\[car_id\\]]").val());