Jquery下拉组合框没有显示我从服务器获得的添加项目

时间:2014-09-22 12:25:34

标签: jquery

我使用了来自jquery rains的上传组合框组件 - http://www.jqueryrain.com/?Vn3Q3xQR

现在如果我将组合框选项添加到组合框中,从服务器端响应它将不会显示新添加的响应,这是我的代码

// Send request to server to get items to fill in combobox
$.ajax({
    type: "POST",
    url: "comboitems.php",
    data: [],
    success: function(result, success, response) {
        console.log(JSON.parse(result));
        var myOptions = JSON.parse(result);

        $.each(myOptions, function(val, text) {
            $('#combo').append( new Option(text,val) );
        });
    }
});

1 个答案:

答案 0 :(得分:0)

答案取决于您提供的链接;)

您需要刷新组件,这样就可以了。

$.ajax({
    type: "POST",
    url: "comboitems.php",
    data: [],
    success: function(result, success, response) {
        var myOptions = JSON.parse(result);

        $.each(myOptions, function(val, text) {
            $('#combo').append( new Option(text,val) ).multipleSelect("refresh");
        });
    }
});

使用组合框创建multipleselect组件时,它实际上隐藏了组合框创建新的jquery ui组件,使用div和listitems显示各种combox box项,因此该组件将从原始组合中获取所有项并生成多个选择成分

所以现在当你添加项目时,你需要告诉组件原始的组合框是更新的,所以你必须刷新视图

如果你要检查DOM,你会发现组合框元素是隐藏的。