我有两个单独的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);
答案 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();
});
});