我在重新检查一些复选框后遇到问题 和ajax调用更新表。
我有一个项目名为'shares'的表格。
我想:
1)检查并将任何已检查的份额保存到阵列中 2)做我的ajax调用以更新股票表 3)重新检查我们在ajax更新之前检查过的任何内容。
我的代码无效,我看不清楚原因?
任何提示,帮助或建议都非常感激。
// Array to hold our checked share ids
var savedShareIDs = new Array();
// Add checked share ids into array
$("input:checkbox[name=share_ids]:checked").each(function() {
savedShareIDs.push($(this).val());
});
// Do ajax update
Dajaxice.pagination_shares('Dajax.process',{'id':1, 'page':1})
// Re-check any that were checked before ajax update
$("input:checkbox[name=share_ids]").each(function()
{
if ( $.inArray( $(this).val(), savedShareIDs) > -1 ) {
$(this).attr('checked',true)
}
});
问题是复选框没有检查。
我很确定循环正常,inArray检查有效。
不要勾选复选框。 谁能看到我哪里出错?
感谢。
答案 0 :(得分:0)
尝试更改
$(this).attr('checked',true)
到
$(this).attr('checked','checked')
答案 1 :(得分:0)
为什么不尝试:
for (id in savedShareIDs)
$("input:checkbox[value="+savedShareIDs[id]+"]").attr("checked", "checked");
答案 2 :(得分:0)
我假设你的逻辑是正确的。但是我看到attr表现得非常奇怪。
尝试使用$(this).data('checked','checked')代替