值不存储在隐藏字段中

时间:2012-10-06 18:44:16

标签: javascript jquery

我有一个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

2 个答案:

答案 0 :(得分: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')); 
});

答案 1 :(得分:0)

使用.val()设置值。

$("#g").val(data);