我有一个用xajax实现分页的页面。每一行都有3列单选按钮,用户可以选择(见附图的示例布局)。然后,当我从第1页选择并移动到第2页时,应该保留该值。如果我回到第一页,我可以看到我所做的选择。
我有一个代码,它将负责从第一页到另一页的值选择。
$('.pagination_wrapper').live('click', function(){
$(document).ready(function(){
var my_option_1 $('#sel_option_1_val').val();
var my_option_2= $('#sel_option_2_val').val();
var my_option_3= $('#sel_option_3_val').val();
$('[type="radio"][name="sel_option_1_val_option"][value="'+my_option_1+'"]').attr('checked','checked');
$('[type="radio"][name="sel_option_2_val_option"][value="'+my_option_2+'"]').attr('checked','checked');
$('[type="radio"][name="sel_option_3_val_option"][value="'+my_option_3+'"]').attr('checked','checked');
});
});
现在我的问题是,当我从第1页移动到另一页时,即使单选按钮在表列表中,它也没有被选中,因为xajax请求还没有完成,而jquery已经执行了选择。在函数中添加警告将使其正常工作,因为dom已经加载,并且在此部分被执行之前(“$('type="radio"value="'+my_option_1+'"').attr('checked',”);
这是带有警告的代码:
$('.pagination_wrapper').live('click', function(){
$(document).ready(function(){
var my_option_1 $('#sel_option_1_val').val();
var my_option_2= $('#sel_option_2_val').val();
var my_option_3= $('#sel_option_3_val').val();
alert('test');
$('[type="radio"][name="sel_option_1_val_option"][value="'+my_option_1+'"]').attr('checked','checked');
$('[type="radio"][name="sel_option_2_val_option"][value="'+my_option_2+'"]').attr('checked','checked');
$('[type="radio"][name="sel_option_3_val_option"][value="'+my_option_3+'"]').attr('checked','checked');
});
});
你知道我需要做些什么,这样单选按钮的选择只会在xajax请求完成后执行吗?我尝试过setTimeout(),jquery.load,但它仍然不起作用。
发布于 2013-01-11 17:02:56
我能够用我自己的方法解决这个问题。将我的xajax请求配置为同步。
https://stackoverflow.com/questions/14263061
复制相似问题