自动打开选择框

时间:2014-12-29 17:15:15

标签: javascript jquery forms dialog

我在这里为选择框下载了一个jquery插件: http://harvesthq.github.io/chosen/

我的页面上的一切正常,除了在我的一个页面上,选择框放在一个jquery对话窗口中,该窗口在按钮点击时打开。我遇到的问题是,单击按钮后,对话框会正确打开,但它会立即将焦点放在第一个选择字段上,这是我不想要的。

如果我把它放在页面上它工作正常,加载时不会打开。我在这里找到了类似的问题和可能的解决方案:

http://jsfiddle.net/6Xa78/3/

$( "#dialog" ).dialog({
    autoOpen: false,
    show: {
        effect: "puff",duration: 500
    },
    hide: {
        effect: "puff",
        duration: 500
    },
    height: 1000, 
    width: 1000,
    position:['middle',30],
    open: function(){
        $('.my_select_box', this).chosen();
    }
});
$( "#opener" ).click(function() {
    $( "#dialog" ).dialog( "open" );
});

但即使我使用完全相同的代码,它仍然会这样做。我还试图删除第一个选择框然后自动打开第二个 - 换句话说,它总是打开第一个选择框。我也尝试用id替换类,但是没有效果,尝试使用focusout命令或blur命令也没有效果。它总是在打开对话框时打开...

我的页面在这里:

http://meteopage.com/climate/climate_map.php

点击按钮" Filtr",打开对话框,您会看到第一个选择框立即弹出。

1 个答案:

答案 0 :(得分:2)

这是因为专注于第一次输入。尝试在对话框中创建一个虚拟元素作为第一个输入。

<input type="hidden" autofocus="autofocus" />

这里是reference。希望它也有帮助。