4

我正在使用select2,我或多或少地使用它:

<select id="e1">

    <option value="AL">Alabama</option>

    <option value="WY">Wyoming</option>

    ....

</select>

和代码

$('#e1').select2({ minimumResultsForSearch: -1 }) ;

将该选项设置为 -1 时,它不会显示搜索框,但在 iPad/iPhone 上它会显示键盘。有什么办法可以防止键盘显示?

4

3 回答 3

3

使用 jQuery,将其添加到您的 select2 的容器中

$(".someSelect2Container 输入").prop("readonly",true);

于 2013-10-17T12:52:39.813 回答
1

我为iOS解决了这个问题:

 $(document).ready(function() { $("select").select2(
            .on("select2-selecting", function(e) {
                setTimeout(function() {
                    document.activeElement.blur();
                }, 500);
            }); 
         });
于 2014-09-09T11:31:43.670 回答
0

对于将来搜索的人,如果您希望保留搜索功能但阻止键盘自动弹出并占用移动设备上的屏幕空间......以下对我有用(可能是一种更快/更简单的方法它,但我很快就做了测试,它奏效了,我很兴奋,不得不把它贴在这里):

    window.select2typing = false;
    $(document).on("focus",".select2-search__field",function(){
        if(window.select2typing == false){
            $(this).blur();
        }
    });

    $(document).on("click",".select2-search__field",function(){
        window.select2typing = true;
        $(this).focus();
    });

    $("select").on("select2:close",function(){
        window.select2typing = false;
    });

这将阻止键盘弹出,阻止它自动聚焦 select2 搜索字段,一旦他们点击/单击搜索字段,它将为他们提供开始输入的选项。

于 2018-04-26T18:51:44.583 回答