如何清除和强制下级jQuery UI自动完成请求

时间:2013-09-05 12:48:48

标签: jquery jquery-ui autocomplete

我有2个自动完成控件。可以说第一个是 country ,第二个是 city 。 当 country 中的值更改时,如何清除 city 中的值和显示文本?从服务器检索城市列表。如果 country 已更改,则应丢弃城市列表,并且当用户开始在 city 自动填充中键入内容时,应对城市列表发出新请求。如何强迫这种行为?

jQuery 1.7.1,UI 1.8.18

2 个答案:

答案 0 :(得分:0)

城市列表更改后,您必须再次创建城市自动填充功能。你的流程将是这样的:

关于州名更改 - >调用ajax函数从服务器获取城市列表 - >构建选项并分配给城市选择元素然后再次执行以下行。

$("#city").combobox(); 

希望您使用自动完成的组合框小部件。否则,只能从服务器重新创建自动完成源,json格式的更好的feth,如下所示:

 var availableTags = [
"NewCity1",
"NewCity2",
"NewCity3",
"NewCity4"
];

$( "#city" ).autocomplete({
source: availableTags
});

答案 1 :(得分:0)

我尝试了一下,这对我有用:

hiddenInput.val(''); 

visibleInput.val(visibleInput.attr('placeholder')).addClass('WaterMarkedTextBox');
visibleInput.flushCache();   

两个输入字段都是由 city 自动完成功能创建的HTML元素。 如果没有flushCache调用,则城市值没有新请求。