2013-05-29 43 views
0

我正在使用jquery自动填充来填充下拉列表。jquery自动完成下拉列表填充单击

<script type="text/javascript"> 
$(document).ready(function() { 

    $("#area").autocomplete( 
    { 

    source: "get_areas", 
    messages: 
    { 
    noResults: '', 
    results: function() {} 
    }, 
    select: function(event, ui) 
     { 
      var selectedObj = ui.item; 
      var selectedobjectorder = selectedObj.value 
      var substr = selectedobjectorder.split(': '); 
      $('input[name^="selectedarea"]').val(substr[0]); 
      var area=substr[0]; 

        //get table data from DB 
        $.post("get_find_demand_all", { vararea:area, varperiod: $('#period').val()}).done(function(data) { 
        $('#results').html(data); 
        }); 
     } 
    }); 
}); 
</script> 

这个工程100%根据需要。我想要的是,当点击下拉列表时,也可以使用所有选项填充下拉菜单。

当前用户必须输入字符串才能触发群体。是否有可能填充点击所有条目的字段?要过滤下拉用户可以输入一些字符串,并重新填充下拉结果?

我的数据库查询get_areas有效的是: select distinct(area) from customer_address where area like %inserted string%

SQL不会返回所有行的like '%%'

我怎么能修改此jQuery的?

感谢和问候,

回答

2

可以使用search方法来手动触发搜索

注意:您需要在minLength选项0否则设置默认搜索不起作用

$(document).ready(function() { 

    $("#area").autocomplete({ 
     minLength: 0, 
     source: "get_areas", 
     messages: 
     { 
      noResults: '', 
      results: function() {} 
     }, 
     select: function(event, ui) 
     { 
      var selectedObj = ui.item; 
      var selectedobjectorder = selectedObj.value 
      var substr = selectedobjectorder.split(': '); 
      $('input[name^="selectedarea"]').val(substr[0]); 
      var area=substr[0]; 

      //get table data from DB 
      $.post("get_find_demand_all", { vararea:area, varperiod: $('#period').val()}).done(function(data) { 
       $('#results').html(data); 
      }); 
     } 
    }).click(function(){ 
     $(this).autocomplete('search', '') 
    }); 
}); 
0

尝试添加该

jQuery('#area').click(function(){ 
     jQuery(this).val(''); 
     jQuery(this).keydown(); 
    });