【问题标题】:How to clear and force request on subordinate jQuery UI Autocomplete如何清除和强制从属 jQuery UI 自动完成上的请求
【发布时间】:2013-09-05 22:53:55
【问题描述】:

我有 2 个自动完成控件。假设第一个是 country,第二个是 city。 当 country 中的值发生更改时,如何清除 city 中的值和显示的文本?从服务器检索城市列表。如果 country 改变了,当用户开始在 city 自动完成中输入内容时,城市列表应该被丢弃,并且应该对城市列表提出新的请求。如何强制这种行为?

jQuery 1.7.1,用户界面 1.8.18

【问题讨论】:

    标签: jquery jquery-ui autocomplete


    【解决方案1】:

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

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

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

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

     var availableTags = [
    "NewCity1",
    "NewCity2",
    "NewCity3",
    "NewCity4"
    ];
    
    $( "#city" ).autocomplete({
    source: availableTags
    });
    

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-09-21
        • 2012-01-09
        • 1970-01-01
        • 2020-05-04
        • 2011-02-03
        • 2011-04-11
        相关资源
        最近更新 更多