【问题标题】:dynamically added option to select is invisible动态添加的选择选项是不可见的
【发布时间】:2017-02-24 23:12:18
【问题描述】:

我正在尝试向空选择添加选项。
问题是当我使用 jQuery 或 javascript 添加选项时,添加的选项没有出现我试图调试添加选项的函数,它实际上是将其添加到 html 但我在网站上看不到/p>

选择:

<select class="selectpicker"  id="partners_id">
</select>

jquery:

$("#partners_id").append(('<option>', {
    value:1,
    text:'One'
}))

【问题讨论】:

    标签: jquery html bootstrap-select


    【解决方案1】:

    试试这个。您忘记在附加功能中添加 $。

     $(document).ready(function(){
        $("#partners_id").append($('<option>', {
            value:1,
            text:'One'
        }))
    })
    

    使用按钮点击追加

    $(document).ready(function(){
        $( "#btn" ).click(function() {
            $("#partners_id").append($('<option>', {
                value:1,
                text:'One'
            }))
        });
    })
    

    【讨论】:

    • 我确定您忘记了添加文档准备功能。添加更新的代码并尝试
    • 你能解释一下吗,我是初学者是jquery
    • 请接受该解决方案。当 DOM(文档对象模型)已加载并且有 2 个选项可将选项附加到 select 中时发生就绪事件。第一个使用我在上面使用的对象$ 符号和第二个,您可以像 append("") 这样直接附加为字符串。如果您要附加超过 1 个选项,那么上述逻辑将很容易实现。希望这能消除您的疑虑
    【解决方案2】:

    尝试在html中添加一个root选项,然后使用append()方法:

    <select class="selectpicker"  id="partners_id">
       <option value="-">Root</option>
    </select>
    

    .append() 方法将指定的内容作为jQuery集合中每个元素的最后一个子元素插入

    最后添加

     $("#partners_id").append("<option value='1'>One</option>");
    

     $("#partners_id").append(
            $('<option></option>').val(1).html("one")
        );
    

    或者先添加,使用prepend()

    .prepend() 方法将指定的内容作为 jQuery 集合中每个元素的第一个子元素插入

     $("#partners_id").prepend(
                $('<option></option>').val(1).html("one")
            );
    

    演示:http://jsfiddle.net/w7cgmy12/

    【讨论】:

    • 我已经尝试了一切,他们都在选择中添加了选项标签,但选项没有出现
    • 尝试在 html 中也添加一个根选项或使用prepend() 而不是append()
    • 它不起作用,但我想我找到了问题,我试图查看动态添加它和在 html 代码中添加它之间的区别,不同之处在于该选项是在选择中添加的标签,但它没有添加到我们打开网站时生成的下拉菜单中,但我不知道为什么。
    猜你喜欢
    • 2015-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-05
    相关资源
    最近更新 更多