-1

我有一个 js 函数,它使用 $.post 来获取数据并将值存储在函数中的隐藏字段中,它工作正常,但在调用函数后在函数之外它将不起作用,但如果我只使用 alert('sometext'); 在警告隐藏字段的值之前,它将存储值并给出正确的输出代码看起来像

function abc(){
    $.post('sch.php',{begin:'he'},function(data){
        $('#g').attr('value',data);
    });
}
//call a function
abc();
alert($('#g').attr('value'));
//won't alert stored value
4

2 回答 2

2

$.post 是异步的。尝试访问时数据不可用。您应该使用同步调用或将所有依赖的代码放在回调方法中。修改代码:

function abc(callback ){
    $.post('sch.php',{begin:'he'},function(data){
        $('#g').attr('value',data); 
        callback ();
    });
}
//call a function
abc(function(){
alert($('#g').attr('value')); 
});
于 2012-10-06T18:48:09.853 回答
0

使用 .val() 设置一个值。

$("#g").val(data);
于 2012-10-06T18:46:33.313 回答