【问题标题】:selectize.js on dynamically created select elementselectize.js 在动态创建的选择元素上
【发布时间】:2018-07-17 15:26:58
【问题描述】:

我以两种不同的方式使用 selectize.js。首先,我选择了 html 中的元素,并且选择对象是在页面加载时创建的。这些元素行为正确。但是,我使用 jquery 动态创建新的选择元素(带有选项),然后尝试在它们上实例化选择。

当我这样做时,这些元素将不允许我在选择元素中输入输入,但下拉菜单仍然有效。

【问题讨论】:

    标签: javascript jquery selectize.js


    【解决方案1】:

    创建一个元素,附加它并在元素上调用插件。

    $(document).ready(function(){
        var options = {
            delimiter: ',',
            persist: false,
            create: function(input) {
                return {
                    value: input,
                    text: input
                }
            }
        };
        
        $('#input-tags').selectize(options);
        $('#input-tags2').selectize(options);
        
        //Creating new selectize
        var newinput = $("<input id='input-tags3'/>");
        $("body").append(newinput);
        newinput.selectize(options)
    });
    <link href="https://selectize.github.io/selectize.js/css/selectize.default.css" rel="stylesheet"/>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/7.3/highlight.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
    <script src="https://selectize.github.io/selectize.js/js/selectize.js"></script>
    
    <input id="input-tags" value="a,b">
    <input id="input-tags2" value="a,b">

    【讨论】:

    • 谢谢分享。当我通过 jQuery 动态创建新的选择元素时,就会出现问题。当我这样做时,点击删除以清除输入会取消选择选择输入,然后将不允许我输入文本。
    • 无法让您清楚。您的意思是从输入框中删除一个值,阻止您再次输入相同的值?或者它阻止输入任何输入?或者你可以用一个工作小提琴更新你的问题来理解。
    • 它阻止我添加任何输入。当我删除它时,它会取消选择输入,然后当我再次单击并尝试输入文本时,它不会允许我。
    • 对不起,我还是没能找到你。这对我来说可以。你能分享我一个小提琴吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多