javascript - 如何初始化禁用的 select2

标签 javascript jquery jquery-select2 ui-select2 angularjs-select2

我有一个简单的 select2 初始化程序,我希望它被默认禁用,而无需在之后链接 .select2("enable", false)

HTML:

<input type='hidden' value="192" data-init-text='Bla bla' name="input" id="test" style="width:300px;" />

JS:

$(document).ready(function() {
    $('#test').select2({
        minimumInputLength: 3,
        placeholder: "Search",
        enable: "false", // I want this to be working!
        ajax: {
            url: "http://www.weighttraining.com/sm/search",
            dataType: 'jsonp',
            quietMillis: 100,
            data: function(term, page) {
                return {
                    types: ["exercise"],
                    limit: -1,
                    term: term
                };
            },
            results: function(data, page ) {
                return { results: data.results.exercise }
            }
        },
        formatResult: function(exercise) { 
            return "<div class='select2-user-result'>" + exercise.term + "</div>"; 
        },
        formatSelection: function(exercise) { 
            return exercise.term; 
        },
        initSelection : function (element, callback) {
            var elementText = $(element).attr('data-init-text');
            callback({"term":elementText});
        }
    });
});

查看我的 JSFiddle举个例子。 Select2 Docs here .

最佳答案

只需将 disabled 属性添加到您的输入即可。

<input disabled type='hidden' value="192" data-init-text='Bla bla' name="input" id="test" style="width:300px;" />

$(document).ready(function() {
    $('#test').select2({
        minimumInputLength: 3,
        placeholder: "Search",
        ajax: {
            url: "http://www.weighttraining.com/sm/search",
            dataType: 'jsonp',
            quietMillis: 100,
            data: function(term, page) {
                return {
                    types: ["exercise"],
                    limit: -1,
                    term: term
                };
            },
            results: function(data, page ) {
                return { results: data.results.exercise }
            }
        },
        formatResult: function(exercise) { 
            return "<div class='select2-user-result'>" + exercise.term + "</div>"; 
        },
        formatSelection: function(exercise) { 
            return exercise.term; 
        },
        initSelection : function (element, callback) {
            var elementText = $(element).attr('data-init-text');
            callback({"term":elementText});
        }
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/3.2.0/select2.min.js"></script>
<input disabled type='hidden' value="192" data-init-text='Bla bla' name="input" id="test" style="width:300px;" />

关于javascript - 如何初始化禁用的 select2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25114898/

相关文章:

javascript - 动态添加新的 jQuery slider 会导致旧 slider 无法运行。

javascript - 仅在 Shift-Select 时保持 select2 打开

javascript - 通过服务器消息单击按钮

javascript - React 路由器部署后不起作用

javascript - 向以下模块添加回调的最佳方法是什么?

javascript - 关闭后模糊 Select2 输入

php - 在集合类型 symfony 中自定义 CSS

javascript - MongoError : Majority read concern requested, 但存储引擎不支持

javascript - 如何使 event.srcElement 在 Firefox 中工作,它是什么意思?

javascript - 为什么这个jsfiddle崩溃?