2014-09-18 82 views
-1

我有2個獨立的javascript函數,第一個從JSON提要生成下拉列表,然後第二個啓動Selectric插件來設置下拉列表的樣式。獲取請求後啓動JavaScript函數

我給插件函數添加了一個延遲,但它是一個黑客所以id在獲取請求完成後添加此函數。

$(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

所以在構建select之後,在成功回調中調用它。不要過度思考。 :) – epascarello 2014-09-18 16:32:01

+0

啊,是的,我正在大量思考它! – 2014-09-18 16:41:41

回答

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

把函數調用內部的回調。

$(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(); 
      }); 
     });