jquery ui自动完成combox重新创建选项不起作用

jquery ui autocomplete comobox recreating options not working

本文关键字:创建 不起作用 选项 新创建 ui combox jquery      更新时间:2023-09-26

hi我正在使用jquery ui自动完成组合框插件,我最初在document.ready 中创建一个组合框

jQuery('#combolist_city').combobox();

当页面加载时,我设置了一些选项

<select id="combolist_city" class="city" name="search[city]">
                            <option value="0">Select city</option>
                            <?php 
                                if(isset($city_list))
                                {
                                    foreach($city_list as $city_data)
                                    {
                                        if(isset($selected_city) && ($selected_city == $city_data['CityID']))
                                        {
                                            echo "<option selected='selecetd' value=".$city_data['CityID'].">".$city_data['CityName']."</option>";
                                        }
                                        else 
                                        {
                                            echo "<option value=".$city_data['CityID'].">".$city_data['CityName']."</option>";  
                                        }
                                    }   
                                }
                            ?>                      
                        </select>

现在我想改变他的选择,我将由来做

jQuery("#combolist_city").combobox({
                                    initialValues: ['aaa','bbb','ccc']
                                });  

但它不起作用,它没有重新创建选项,

我该怎么做,请帮忙。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

您必须手动完成。首先销毁组合框,清空选择框附加新选项并再次构建组合框:

var aList = {'id1': 'val1', 'id2': 'val2', 'id3': 'val3'};
var sKey;
$("#combolist_city").combobox('destroy').empty();
for (sKey in aList) {
    $("#combolist_city").append('<option value="' + sKey + '">' + aList[sKey] + '</option>');
}
$("#combolist_city").combobox();

另请参见此示例。