Javascript 未填充jQuery ui.selectmenu

Javascript 未填充jQuery ui.selectmenu,javascript,jquery,jquery-ui,jquery-plugins,Javascript,Jquery,Jquery Ui,Jquery Plugins,我一直在使用jquery ui开发仪表板,遇到ui.selectmenu.js将无聊的html选择菜单转换为jquery ui look‘n’feel选择菜单,但我遇到了一些问题,即它似乎没有加载我的选择列表内容 我已经测试了这个实现,在选择列表中使用了预先填充的选项,这些选项显示在ui.selectmenu中。然而,当我试图动态填充选项列表时,列表框出现了一个问题-它是空的 $(document).ready(function(){ jQuery(fun

我一直在使用jquery ui开发仪表板,遇到ui.selectmenu.js将无聊的html选择菜单转换为jquery ui look‘n’feel选择菜单,但我遇到了一些问题,即它似乎没有加载我的选择列表内容

我已经测试了这个实现,在选择列表中使用了预先填充的选项,这些选项显示在ui.selectmenu中。然而,当我试图动态填充选项列表时,列表框出现了一个问题-它是空的

        $(document).ready(function(){
            jQuery(function($){
            $.getJSON('src/versions.php', function(data) {
                $.each(data, function(key, val){
                        $('<option/>').attr('value', val.version)
                        .html(val.version)
                        .appendTo('select#release_id');
                    });
                });
            });

        $('select#release_id').selectmenu({
            style:'dropdown',
            width: 250,
            maxHeight: 500
        });
上面的代码返回一个json值列表,并将它们正确地附加到选项列表中。在查看html代码时,可以从firebug中观察到这一点。当我将这段代码与预先发布的列表进行比较时,同样是ui.selectmenu,似乎有一点不同——ui.selectmenu正在更新select值的一个元素;使用上述代码时不会发生这种情况

总的来说,我认为这是一个时间问题,我只是不确定如何验证或防止代码以错误的顺序加载

任何指导都将不胜感激

谢谢

添加/删除/修改选项 根据这些文档:,用户可以通过添加/删除/修改原始select中的选项,然后调用$'select'。selectmenu来修改用户界面selectmenu中的选项;再说一遍

可以重命名选项或选项 甚至在selectmenu中添加一个。仅仅 更改原始的select元素并 对其应用selectmenu: $“选择”。选择菜单

实例
谢谢你提供的信息,迈克尔,我会试试看这是怎么回事。
$(document).ready(function(){

    var select_menu = 'select#release_id';

    var init_select = function(selector) {
        $(select_menu).selectmenu({
            style:'dropdown',
            width: 250 ,
            maxHeight: 500
        });
    };

    jQuery(function($){
        $.getJSON('src/versions.php', function(data) {

            // Don't want to init_select more than once per AJAX request
            var count = data.length;
            $.each(data, function(key, val){
                $('<option/>').attr('value', val.version)
                    .html(val.version)
                    .appendTo(select_menu);
                });

                // Second initialization, using extra options AJAX'd in
                if (--count == 0) init_select(select_menu);
            });
        });

        // First initialization, using whatever options present at page-load
        init_select(select_menu);
});