Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对于select for jquery是否有任何on select事件?_Javascript_Jquery_Select_Option_Onchange - Fatal编程技术网

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、 所有需要触发的东西都已经触发了,这不是我需要的。