Выделить, пере выделить нужные
Всем привет.
Не могу решить, пишу сюда, прошу помощи. У меня есть 3 ссылки (1 ссылка, 2 ссылка, 3 ссылка) <a href="#" class="view" value="1">1 ссылка</a> <a href="#" class="view" value="4">2 ссылка</a> <a href="#" class="view" value="8">3 ссылка</a> Также у меня есть checkbox 8 штук <input type="checkbox" name="1"> <input type="checkbox" name="2"> <input type="checkbox" name="3"> <input type="checkbox" name="4"> <input type="checkbox" name="5"> <input type="checkbox" name="6"> <input type="checkbox" name="7"> <input type="checkbox" name="8"> и есть мой любимый джиквери $('.view').on('click',function() { var num = $(this).attr('value'); for(i = 1; i <= num; i++) { $(':checkbox[name='+i+']').attr('checked',true); } }); Что у меня сейчас при нажатие на "1 ссылка" у меня выделяется "name="1" при нажатие на "2 ссылка" у меня выделяется с "name="1" по "name="4" при нажатие на "3 ссылка" у меня выделяется с "name="1" по "name="8" У меня не получается сбрасывать checked То есть когда я нажимаю на "3 ссылка" а потом на "1 ссылка" у меня остаются помеченные все checkbox Понимаю что нужно как то снять все галочки перед новым click и тут же не понимаю ;) После клика снимаю все галочки и хочу заново выделить другие checkbox. Цикл for уже не срабатывает $('.view').on('click',function() { $('input').attr('checked', false);//снимаю все галочки var num = $(this).attr('value'); for(i = 1; i <= num; i++)//не срабатывает { $(':checkbox[name='+i+']').attr('checked',true); } }); Прошу помочь с данным вопросом. |
Маша_92,
Может так? var num = +$(this).attr('value'); |
Маша_92,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $(function() { $('.view').on('click',function(event) { event.preventDefault(); var num = $(this).data('value'); $('.check').prop('checked',false).slice(0, num).prop('checked',true); }); }); </script> </head> <body> <a href="#" class="view" data-value="1">1 ссылка</a> <a href="#" class="view" data-value="4">2 ссылка</a> <a href="#" class="view" data-value="8">3 ссылка</a> <input type="checkbox" class="check"> <input type="checkbox" class="check"> <input type="checkbox" class="check"> <input type="checkbox" class="check"> <input type="checkbox" class="check"> <input type="checkbox" class="check"> <input type="checkbox" class="check"> <input type="checkbox" class="check"> </body> </html> |
Coriolan161 немножко не то но все равно спасибо.
рони спасибо. Вот это slice(0, num) помогло. |
Часовой пояс GMT +3, время: 05:12. |