如果 onchange 不够,则点击选项标签
Onclick on option tags if onchange is not enough
我有 两个 selects A 和 B,它们在 onchange 事件上触发相同的 ajax 重写某些内容区域的请求。
如果我单击 select 中的 选项 A,A onchange 工作正常并且 ajax 调用重写内容。
然后,如果我单击 select B 中的 选项 B,此 ajax 调用也会重写内容。
这就是问题所在。如果我然后想 select select A 中的选项 A,其中 从第一个 selected 保留下来它不会触发 onchange 事件的操作(原因已经 selected)。
选项标签不支持点击事件如何解决?我尝试在 onchange 之后删除 select 选项标签,例如
complete: function()
{
$(this).prop("selected", false);
}
但这也不会触发 onchange 事件,即使选项被取消select。如何解决?谢谢
在绑定新事件之前使用 .unbind('change').bind('change', function(){ /// do something });
jQuery 事件,或者在附加新事件之前使用 $('#optionA, #optionB').off().on('change', function(){ /// do something });
分离事件。
我认为您可能正在寻找的是为 select 和 "trigger change event"
设置一个新值
假设您有以下内容
$('#select1, #select2').on('change', function(){
/// do something
});
您可以为这些元素之一设置一个值,并在设置新值后触发更改
$('#select1').val('newValue').change() // or .trigger('change')
complete: function()
{
$(this).prop("selectedIndex", 0); // It has to be default selected value's index.
}
我有 两个 selects A 和 B,它们在 onchange 事件上触发相同的 ajax 重写某些内容区域的请求。 如果我单击 select 中的 选项 A,A onchange 工作正常并且 ajax 调用重写内容。 然后,如果我单击 select B 中的 选项 B,此 ajax 调用也会重写内容。 这就是问题所在。如果我然后想 select select A 中的选项 A,其中 从第一个 selected 保留下来它不会触发 onchange 事件的操作(原因已经 selected)。
选项标签不支持点击事件如何解决?我尝试在 onchange 之后删除 select 选项标签,例如
complete: function()
{
$(this).prop("selected", false);
}
但这也不会触发 onchange 事件,即使选项被取消select。如何解决?谢谢
在绑定新事件之前使用 .unbind('change').bind('change', function(){ /// do something });
jQuery 事件,或者在附加新事件之前使用 $('#optionA, #optionB').off().on('change', function(){ /// do something });
分离事件。
我认为您可能正在寻找的是为 select 和 "trigger change event"
设置一个新值假设您有以下内容
$('#select1, #select2').on('change', function(){
/// do something
});
您可以为这些元素之一设置一个值,并在设置新值后触发更改
$('#select1').val('newValue').change() // or .trigger('change')
complete: function()
{
$(this).prop("selectedIndex", 0); // It has to be default selected value's index.
}