Javascript 对于select for jquery是否有任何on select事件?
好的,我有一个下拉菜单,我使用Javascript 对于select for jquery是否有任何on select事件?,javascript,jquery,select,option,onchange,Javascript,Jquery,Select,Option,Onchange,好的,我有一个下拉菜单,我使用 $('select.small').change ... 它有两个选项,但问题是,当我选择第一个选项时,什么也不会发生,因为它已经被选中了。有什么办法可以实现吗 到目前为止,我使用了一个额外的空选项,默认情况下它被选中,但现在我必须使用这个第一个空选项进行清理,所以我不能添加额外的默认和空选项 请给我一些建议 编辑:LMAO,我最后做了这个: $('select.small').change(function(){ alert('you selected
$('select.small').change ...
它有两个选项,但问题是,当我选择第一个选项时,什么也不会发生,因为它已经被选中了。有什么办法可以实现吗
到目前为止,我使用了一个额外的空选项,默认情况下它被选中,但现在我必须使用这个第一个空选项进行清理,所以我不能添加额外的默认和空选项
请给我一些建议
编辑:LMAO,我最后做了这个:
$('select.small').change(function(){
alert('you selected some option');
});
$('select.small').bind('focus',function(){
$('select.small').click(function(){
$('select.small').click(function(){
if((this).val()=='') $('select.small').trigger('change');
$('select.small').unbind('click');
});
});
});
但有时会被窃听=(
我简直不敢相信没有人知道解决方案。如果你是说从页面加载时开始,那么在设置更改回调后立即尝试调用更改方法;这实际上就像用户立即选择了它一样:
$('select.small').change(function() {
//..
}).change();
我成功了我会自豪地回答我自己
$('select.small').bind('focus click',function(){
$(this).children().removeAttr('selected');
});
为什么不选择第一个选项,并在页面加载时启动更改回调?如果重新选择第一个选项,则无需启动更改回调。如果已经选择了第一个选项,您不能在加载页面时为该选项执行需要执行的操作,而不是等待用户尝试选择该选项吗?不是吗更合适,因为用户可能只看到默认值,而不去理会它?从技术上讲,如果您打开下拉框并选择第一个条目,那么您实际上并没有选择任何内容。您(程序员)已经知道默认选择的选项是什么,因此当有人选择它时,不必提示您。同样,人们也不太可能来到您的站点,看到一个下拉框,其中包含他们想要选择的选项,然后打开选择框并重新选择已经存在的选项。即使我想看到其他选项,我也可能打开下拉列表,但当我意识到我想要的下拉列表已经被选中时,请将其关闭。2GGG:否,必须使用第一个选项来清除旁边的输入,并且默认设置有一些值。2david:否,无法看到默认值,因为它太小,无法看到。单击并显示下拉列表后,他们将看到。这与加载pag无关e、 所有需要触发的东西都已经触发了,这不是我需要的。