1

我有以下内容:

$("#cityID").change(cityIdChanged(this))


function cityIdChanged(select) {
   store.setItem('CityID', select.val());
}

这似乎不起作用,因为它给了我一条错误消息,说“选择”不支持属性 val。

如何传递对更改为我的 cityIdChanged 函数的事物的引用?

4

2 回答 2

1
$("#cityID").change(function(){
    cityIdChanged(this); // "this" is the DOM object
});


function cityIdChanged(select) {
   store.setItem('CityID', select.value); // You get value with .value not .val()
}

不要使用 jQuery 来获取输入值。

现场演示


了解你的 DOM 属性和函数

虽然 jQuery 的目标之一是抽象出 DOM,但了解 DOM 属性可能非常有用。那些在不了解 DOM 的情况下学习 jQuery 的人最常犯的错误之一是利用 jQuery 的强大功能来访问元素的属性

$('img').click(function() {
    $(this).attr('src');  // Bad!
});

在上面的代码中,this指的是触发 click 事件处理程序的元素。上面的代码既慢又冗长;下面的代码功能相同,而且更短、更快、更易读。

$('img').click(function() {
    this.src; // Much, much better
});

jQuery标签信息

于 2012-05-06T14:01:43.777 回答
0
$("#cityID").change(cityIdChanged(this))


function cityIdChanged(select) {
   store.setItem('CityID', $(select).val()); or // select.value but not select.val()
}
于 2012-05-06T14:00:23.347 回答