我正在使用angularjs v0.9来实现我的会员资格系统......
目前,我有两个控制器......
var selected = []
function Ctrl1(){
checkCheckboxesByIds(selected );
//users will select a list of values from checkboxes..
$('#renewlist input:checked').each(function() {
selected.push($(this).attr('value'));
});
}
function Ctrl2(){
//call an api function with "selected"
}
然而,在Ctrl2的html中,如果用户选择了错误的复选框,它会让用户选择回到之前的位置。
我用Google搜索并找到了这个功能
function checkCheckboxesByIds(ids) {
$.each(ids, function(i, id) {
$('#member-' + id).attr('checked', 'checked');
});
}
然而,这仅在75%的时间内起作用。如果我反复点击后退和前进,有时会无法检查复选框...
无论如何我可以让它变得更加万无一失吗?
提前谢谢。
答案 0 :(得分:0)
如@wirey所述
我真的应该使用.prop('checked',true)来设置checked属性。
function checkCheckboxesByIds(ids) {
$.each(ids, function(i, id) {
$('#member-' + id).prop('checked',true);
});
}
它仍然不是万无一失,因为我第六次提交并返回时,将不会选中复选框。但这对我的目的来说已经足够了。
谢谢。