Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery selectmenu不适用于来自ajax调用的敲除数据绑定_Javascript_Jquery_Jquery Plugins - Fatal编程技术网

Javascript jquery selectmenu不适用于来自ajax调用的敲除数据绑定

Javascript jquery selectmenu不适用于来自ajax调用的敲除数据绑定,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,我想是时间问题还是别的什么。combobox的元素是从ajax调用中获取的,如果我使用selectmenu,则knockout data bind不会将这些元素获取到combobox。不过,如果我不这样评论 $("select").selectmenu(); 一切正常。我使用了以下代码 function ViewModel() { // Data var self = this; self.loaded = ko.observable(

我想是时间问题还是别的什么。combobox的元素是从ajax调用中获取的,如果我使用selectmenu,则knockout data bind不会将这些元素获取到combobox。不过,如果我不这样评论

 $("select").selectmenu();
一切正常。我使用了以下代码

    function ViewModel() {
        // Data
        var self = this;
        self.loaded = ko.observable(false);
        self.groups = ko.observableArray([]);
        //....
        $.getJSON("api/groups", self.groups)
            .done(function () {
                self.loaded(true); $('select').selectmenu('refresh', true);
            });
    }
    ko.applyBindings(new ViewModel());
    $(document).ready(function () {
        // Handler for .ready() called.
        $("select").selectmenu();
    });        
这个html

    <div>Active Group:&nbsp; <select data-bind="options: groups,
                  optionsText: 'Name',
                  optionsValue: 'Id',
                  value: selectedGroupId,
                  optionsCaption: 'Choose a group'"></select></div>
活动组:

当文档准备就绪时,组合框只有一个元素“选择一个组”。我用Firebug验证了数据是否正常。有什么方法可以解决这个问题吗?

我认为您需要使用selectmenu事件进行自定义绑定。请参考以下内容


谢谢您的参考。这对我帮助很大。