0

我正在尝试使用 msDropdown JavaScript 插件 ( https://github.com/marghoobsuleman/ms-Dropdown ) 创建包含图像的 html 标记。

除非我尝试使用 JavaScript 更改选定的值,否则它似乎工作得很好。就像在这个 jsFiddle 中一样:https ://jsfiddle.net/cmu845eh/7/ 我正在尝试这样做,以便如果您调用 setValue() 函数,它会将所选值更改为某个索引。

我在网上尝试了多种不同的解决方案,但都没有奏效,解决方案如下:

var oHandler = $("#main").msDropDown().data("dd");
oHandler.set("length", 0);

总是导致错误,更基本的 jquery 方法也不起作用。

有人可以帮我使用javascript将我的选择标签的值更改为某个索引吗?

4

2 回答 2

0

通过修复我在创建 html 后如何初始化 msdropdown 元素来解决它。 https://jsfiddle.net/uvbjhy31/

于 2022-02-19T10:00:17.410 回答
0

使用 msdropdown

让我为您提供有关如何使用另一个选择下拉列表从服务器端填充选择下拉列表的完整代码。

第一个选择下拉菜单

<select name="" id="from" class="selectFlags" style="width:100%;">
   <option value="2" title="https://fxtop.com/ico/aon.gif">GBP</option>                                                                                                                    
   <option value="3" title="https://fxtop.com/ico/aon.gif">GBP</option>                                                                                                            
</select>

第二选择下拉

<select name="" id="selectFlagTo" class="selectFlagTo form-control" style="width:100%;height:52px;">
</select>

脚本

<script language="javascript">
        $(document).ready(function(e) {
        try {
            $(".selectFlags").msDropDown({mainCSS:'dd'});
        } catch(e) {
            alert(e.message);
        }
        $(".dd").css({ 'width' : '100%' });
        });
        $(document).on("click",".dd .ddChild",function(e){
            let $from=$("#from option:selected").val();
            let $to=$("#selectFlagTo");
            $to=$to.empty();
                            
            $(".dd").css({ 'width' : '100%' });
            $(".dd2").css({ 'width' : '100%' });
            $.ajax({
                url: "http://odin.test/load_countries",
                type: "POST",
                data: {from:$from},
                success: function(response) {
                    $.each(response, function(key, entry) {
                        $to.append("<option title='https://fxtop.com/ico/aon.gif' value='"+entry.id+"'>"+entry.name+"</option>" );
                    });
                    var oDropdown = $(".selectFlagTo").msDropDown({mainCSS:'dd2'});
                    $(".dd3").css({ 'width' : '100%' });
                }
            });
        });
        </script>

享受编码!

于 2022-02-19T09:26:54.377 回答