获取请求后触发javascript函数

时间:2014-09-18 16:31:01

标签: javascript jquery

我有两个单独的javascript函数,第一个从JSON提要构建一个下拉列表,然后第二个触发Selectric插件来设置下拉列表的样式。

我在插件功能中添加了一个延迟,但它是一个黑客,所以我想在get请求完成后添加这个函数。

$(document).ready(function() {
     $.get('scanlistjson',{id:''},function(responseJson) {   
        var $select = $('#scanlist');                              
        $.each(responseJson, function(key, value) {               
          $('<option>').val(key).text(value).appendTo($select);      
        });
      });
  });

setTimeout(function() {
  $('#scanlist').selectric();
}, 300);

2 个答案:

答案 0 :(得分:4)

在附加选择的所有选项后,您必须在$.get回拨函数中调用它:

$(document).ready(function() {
     $.get('scanlistjson',{id:''},function(responseJson) {   
        var $select = $('#scanlist');                              
        $.each(responseJson, function(key, value) {               
          $('<option>').val(key).text(value).appendTo($select);      
        });
         $('#scanlist').selectric(); // call it here
      });
  });

答案 1 :(得分:1)

将函数调用放在回调中。

$(document).ready(function() {
         $.get('scanlistjson',{id:''},function(responseJson) {   
            var $select = $('#scanlist');                              
            $.each(responseJson, function(key, value) {               
              $('<option>').val(key).text(value).appendTo($select);      
            });
             $('#scanlist').selectric();
          });
      });