jQuery повторно проверяет флажки - PullRequest
0 голосов
/ 01 января 2011

У меня возникли проблемы с повторной проверкой некоторых флажков после и ajax call обновляет таблицу.

У меня есть таблица того, что проект называет «долями».

Я хочу:

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 работает.

Просто не устанавливайте флажки. Кто-нибудь может увидеть, где я иду не так?

Спасибо.

Ответы [ 3 ]

0 голосов
/ 01 января 2011

Почему бы не попробовать:

for (id in savedShareIDs)
    $("input:checkbox[value="+savedShareIDs[id]+"]").attr("checked", "checked");
0 голосов
/ 01 января 2011

Я предполагаю, что ваша логика верна. но я видел, как attr ведет себя странно.

Попробуйте вместо этого использовать $ (this) .data ('флажок', 'проверен')

0 голосов
/ 01 января 2011

Попробуйте изменить

$(this).attr('checked',true) 

на

$(this).attr('checked','checked')
...