这是交易: 这个区域是动态图表的准备,我在选择第一个选择输入时打开一个新的选择输入。凭借其价值(从第一个开始),我正在进行SQL查询并通过第一个选择过滤国家数据。它一切正常,但我确实想重新使用来自PHP的这个数组来创建最多4个新的选择。 由于它保留在$ .ajax成功之内,我不确定我是否可以在外面使用它。
这是我的代码:
$(document).ready(function() {
$('#indicators').change(function() {
$('#country1').fadeIn('slow');
var indic_val = $(this).val();
$.ajax({
url: 'scripts/chart_handler.php',
dataType: "json",
type: 'post',
data: {'indicator' : indic_val},
async:false,
success: (function ( data ){
$.each(data, function(i, key) {
$('#country1').append('<option value="'+ key +'">'+ key +'</option>');
});
}),
});
});
});
答案 0 :(得分:1)
$(document).ready(function() {
var jsonData; // this is the variable where we will store the data
$('#indicators').change(function() {
$('#country1').fadeIn('slow');
var indic_val = $(this).val();
$.ajax({
url: 'scripts/chart_handler.php',
dataType: "json",
type: 'post',
data: {'indicator' : indic_val},
async:false,
success: (function ( data ){
jsonData = data; //that's all what you need
$.each(data, function(i, key) {
$('#country1').append('<option value="'+ key +'">'+ key +'</option>');
});
}),
});
});
});
答案 1 :(得分:0)
是的你可以..创建一个函数并将数据作为参数传递
success: (function ( data ){
myFunction(data);
$.each(data, function(i, key) {
$('#country1').append('<option value="'+ key +'">'+ key +'</option>');
});
}),
function myFunction(data){
// do your stuff
}