Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.02.2017, 12:03
Новичок на форуме
Отправить личное сообщение для Маша_92 Посмотреть профиль Найти все сообщения от Маша_92
 
Регистрация: 21.10.2014
Сообщений: 3

Выделить, пере выделить нужные
Всем привет.

Не могу решить, пишу сюда, прошу помощи.

У меня есть 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, 10.02.2017 в 12:11.
Ответить с цитированием
  #2 (permalink)  
Старый 10.02.2017, 12:21
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

Маша_92,
Может так?
var num = +$(this).attr('value');
Ответить с цитированием
  #3 (permalink)  
Старый 10.02.2017, 12:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Маша_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>
Ответить с цитированием
  #4 (permalink)  
Старый 10.02.2017, 13:26
Новичок на форуме
Отправить личное сообщение для Маша_92 Посмотреть профиль Найти все сообщения от Маша_92
 
Регистрация: 21.10.2014
Сообщений: 3

Coriolan161 немножко не то но все равно спасибо.
рони спасибо. Вот это slice(0, num) помогло.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделить option в списке по значению value 1lider Общие вопросы Javascript 8 20.04.2013 11:24
Как выделить нужные checkbox одним кликом? MCB Общие вопросы Javascript 7 11.03.2012 22:27