2014-03-13 167 views
1

我有两个下拉值。州和城市。另外我在我的数据库中有两个表格,分别是城市和州。动态下拉菜单添加

事情是与JQuery的帮助,我得到相应的城市,我选择的国家。但事情是不能将这些相应的城市名称追加到第二个下拉列表中。由于有超过1000个城市名称,我可以附加它$()。append()函数,因为它使我的浏览器挂起。

这是我的jQuery

$("#state_name").change(function() { 
     var state = $('#state_name :selected').val(); 
     console.log(state); 
     $.ajax({ 
       url: '/company_profile/update_city_select', 
       type: 'GET', 
       data: { 
        id: state 
       }, 
       success: function(response) { 
        // $("#city_name select").empty(); 
        var no_of_cities = response.cities.length; 
        console.log(no_of_cities); 
        var collection = response.cities; 
        //$('#city_name select').attr('<% :collection%>','<%' +collection+'%>'); 
        } 
      }); 
    return false; 
}); 

response.cities [I]。名称给第i个城市的名字。

+2

如果数据装载大,你应该使用jQuery的自动完成或选择框包括自动完成的最佳方法。希望这可以帮助你:) –

+0

autocomplete做了一些工作。但即时通讯仍在寻找一种方法来使这个下拉列表成为可能而不会导致任何浏览器挂起 –

回答

2

您可以在同一时间10个城市名称来加载,并与滚动,你可以嵌入加载更多像Facebook,与此负载越多,你可以查询使用偏移和限制再弄10条记录,

和在使用一段时间追加10元是通过它可以实现你的记录

 $("#load_more_btn").live('click', function(){ 
      var offset = $(this).data("offset"); 
      $.get('/controller_name', {offset : offset});          
     });