jQuery检查选择字段是否更改
如果select字段被更改,我想进行jQuery检查。如果更改,则设置一条警报消息(已更改),如果返回默认值,则设置另一条警报消息(默认值)jQuery检查选择字段是否更改,jquery,Jquery,如果select字段被更改,我想进行jQuery检查。如果更改,则设置一条警报消息(已更改),如果返回默认值,则设置另一条警报消息(默认值) 请告知这是否是正确的方法。我会采取以下措施: HTML: 您不需要每个内部循环。Plus$(this)[0]可以优化为仅this: $('select')。在('change',函数(){ var isDirty=!this.options[this.selectedIndex].defaultSelected; 如果(isDirty){ 警报(“已更改
请告知这是否是正确的方法。我会采取以下措施: HTML:
您不需要每个
内部循环。Plus$(this)[0]
可以优化为仅this
:
$('select')。在('change',函数(){
var isDirty=!this.options[this.selectedIndex].defaultSelected;
如果(isDirty){
警报(“已更改”);
}否则{
警报(“默认值”);
}
});代码>
标签1
标签2
标签3
标签4
感谢您的明确回答。关于每个
循环,如果我想检查表单中所有可用的select字段,是否不需要它?这是一个新手问题:)$('select')。在('change',…)
上已经处理了所有的选择框(它在内部使用每个选择框)。
$('select').on('change',function () {
var isDirty = false;
$('select').each(function () {
var $e = $(this);
if (!$e[0].options[$e[0].selectedIndex].defaultSelected) {
isDirty = true;
}
});
if(isDirty == true) {
alert("has changed");
} else {
alert("default value");
}
});
<select data-default="one" id="the-select">
<option>one</option>
<option>two</option>
</select>
$('#the-select').change(function() {
var changed = $(this).val() != $(this).data('default');
alert(changed ? 'changed' : 'not changed');
});