自动完成功能可在输入字段上保留历史记录并发送多个请求

时间:2013-05-21 07:22:39

标签: jquery codeigniter autocomplete

我有以下代码:

     $("#city").on('change', function() {
         $("#keyword").autocomplete('<?php echo base_url();?>index.php/formhandler/autocomplete', {
             width: 300,
             matchContains: true,
             extraParams: {
                 data: $("#city").val()
             }
          });
     });

这是我的HTML:

<select id="city" name="">
<option selected value="">--Select a city--</option>
<option value="1">city1</option>
<option value="2">city2</option>                            
</select>
<input id="keyword" name="" type="text" placeholder="Search" style="width:300px;"/>

我想根据所选城市自动填写关键字字段,但问题是自动完成会发送多个请求(它会发送最新的城市ID以及之前选择的数据)。当我在firebug中查找时,关键字字段保留了previuos历史记录。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

一个问题是JavaScript中的括号和大括号不匹配。这应该是这样,特别注意最后两行:

$("#city").on('change', function() {
    $("#keyword").autocomplete('<?php echo base_url();?>index.php/formhandler/autocomplete', {
        width: 300,
        matchContains: true,
        extraParams: {
            data: $("#city").val()
        }
    });
});

您还在第一个option标记中拼错了 selcted应为selected