我注意到即使该选项未被更改,也可以为<select>
触发change()。
请参阅我的jsfiddle示例。
更改选择将更改显示的文本输入。然而(如果你:
,我知道这有点拉伸)Selection:
Show A
)Show A
,它将触发change()。 这是否有一个简单的解决方法(现在我正在考虑使用变量来跟踪更改后的最后一个选择())?
修改 这似乎是特定于Chrome的问题。通过使用变量来跟踪最后选择的项目,我能够修复问题。我想这是jQuery / Chrome开发人员的一个错误。
答案 0 :(得分:1)
我会将当前值作为数据存储在元素(而不是变量)上,如下所示:
$('#variable').data('currentval', $('#variable').val()).change(function() {
var t = $(this);
if (t.data('currentval') != t.val()) {
$(this).data('currentval', $(this).val());
$('#listA').toggle('fast');
$('#listB').toggle('fast');
}
});