我这里有个小问题。我必须触发一个包含 $.post() 的事件来加载表单并将其分配给 DOM。完成后,我编辑了表单的字段。
我试过:
$.when(function(){
$('#type_rank_field').trigger('change'); //calls the $.post() to load the form
})
.done(function(){
$('#quest_'+questions[i].split('|')[1]).children('option[value="'+questions[i].split('|')[0]+'"]').attr('selected',true);
});
不幸的是,这不起作用,如果我就这样离开它:
$('#type_rank_field').trigger('change');
$('#quest_'+questions[i].split('|')[1]).children('option[value="'+questions[i].split('|')[0]+'"]').attr('selected',true);
变化甚至看起来像这样:
$('#type_rank_field').live('change',function(){
var id = $(this).children('option:selected').attr('id');
var id_edited = get_id_from_id(id);
$.post('ajax/load_questions_of_rank.ajax.php',{id: id_edited},function(data){
//alert(data);
$('#rank_fields').html(data);
});
});
然后在表单正确加载并附加到 DOM 之前执行表单编辑。对于 JavaScript 人来说,这可能是一个愚蠢的问题,但我主要是一个 PHP 人,所以不要残忍:-)
谢谢