在AJAX请求后提供Select2数据

时间:2016-09-30 20:50:07

标签: javascript jquery ajax select2

我正在尝试在Select2来电后向AJAX下拉菜单提供数据。但是,即使AJAX调用完美运行并返回预期结果,下拉列表似乎也没有获取任何数据。这是代码。请注意,下拉列表位于名为JQuery UI的{​​{1}}模式中,#dialog-create-circle元素仅在单击按钮Select2打开模态时创建。我观察到即使我在允许#createCircle调用完成后有足够时间打开模态,仍然没有将数据加载到AJAX下拉列表。我非常感谢你的帮助。

Select2

1 个答案:

答案 0 :(得分:2)

正如@Lucas Costa所建议的那样,在函数中包装ajax并在需要时调用是一个选项。这样你也可以像其他元素或网址一样传递任何东西:

function fillSelect2(){
  $.ajax({
    'url': '{{site.uri.public}}/getUserList', 
    'type': 'GET', 
    'dataType': 'json', 
    'data': {}, 
    'success': function(data) {
        $("#dropdown").select2({
          data: data
        });
    },
    'error': function(data) {  
    }
  });
});

$( "#createCircle" ).click(function() {
  $( "#dialog-create-circle").dialog( "open" ); 
  fillSelect2(); /* dialog now open, $('#dropdown') should be good to fill */
});