Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Выбор только нескольких пунктов (https://javascript.ru/forum/misc/63254-vybor-tolko-neskolkikh-punktov.html)

PonyS 26.05.2016 18:21

Выбор только нескольких пунктов
 
Здравствуйте! Очень нужна ваша помощь, есть код добавления и удаления class у блока, вот он :
<script>
 $(document).ready(function(){
	$('.place').click(function () {
		$(this).toggleClass('select');
		});
	});
</script>


В чем собственно проблема, мне нужно чтобы я мог задать количество возможных смен class, к примеру блоков 10, но я хочу чтобы я мог выбрать только 3 из 10(то бишь сменить class только у 3х, или у 6-и ), подскажите пожалуйста, как добавить ограничение по количеству смены class? Добавить к примеру переменную kol = 5; и она ограничивала смену class до 5и из 10 блоков. Заранее спасибо за помощь!

Decode 26.05.2016 18:52

PonyS, так?

$('.price:lt(3)').click(function() {
    $(this).toggleClass('select');
});

PonyS 26.05.2016 18:59

Поставил код, но он почему-то не меняет class, ничего не происходит...Еще такой вопрос, смогу ли я значение 3 к примеру заменить на другое - кодом ? price:lt(3) к примеру взять значение из input hidden и поставить вместо 3 автоматом, или так с таким решением нельзя?

PonyS 26.05.2016 19:00

А нет, меняет - но только у первых 2х div почему-то, другие нельзя и выбрать могу только 2, нужно чтобы не было привязанности конкретно с первым, а на выбор можно было изменить, но в пределах 2х div , но хоть 3-й, хоть 8-й

Decode 26.05.2016 19:03

PonyS,
<!doctype html>
<html>
<head>
  <meta charset="utf-8" /
  <title></title>
  <style>
    .select {
      background: red;
    }
  </style>
</head>
<body>
  <p class="price">1</p>
  <p class="price">2</p>
  <p class="price">3</p>
  <p class="price">4</p>
  <p class="price">5</p>
  <p class="price">6</p>
  <p class="price">7</p>
  <p class="price">8</p>
  <p class="price">9</p>
  <p class="price">10</p>
  <input type="hidden" value="5" />
  
  <script src="https://code.jquery.com/jquery-2.1.4.js"></script>
  <script>
    var count = $('input[type=hidden]').val();
    
     $('.price:lt(' +count+ ')').click(function() {
       $(this).toggleClass('select');
     });
  </script>
</body>
</html>

PonyS 26.05.2016 19:05

Цитата:

Сообщение от Decode (Сообщение 417709)
PonyS,
<!doctype html>
<html>
<head>
  <meta charset="utf-8" /
  <title></title>
  <style>
    .select {
      background: red;
    }
  </style>
</head>
<body>
  <p class="price">1</p>
  <p class="price">2</p>
  <p class="price">3</p>
  <p class="price">4</p>
  <p class="price">5</p>
  <p class="price">6</p>
  <p class="price">7</p>
  <p class="price">8</p>
  <p class="price">9</p>
  <p class="price">10</p>
  <input type="hidden" value="5" />
  
  <script src="https://code.jquery.com/jquery-2.1.4.js"></script>
  <script>
    var count = $('input[type=hidden]').val();
    
     $('.price:lt(' +count+ ')').click(function() {
       $(this).toggleClass('select');
     });
  </script>
</body>
</html>

То что нужно, спасибо большое, единственный момент, как сделать чтобы не было привязанности к ПЕРВЫМ числам, а на выбор любые? хоть 1 и 4-6, хоть 6-8-9 и т.д, но не подряд 1-2-3-4-5, заранее спасибо!

Dilettante_Pro 26.05.2016 19:08

Decode,
Цитата:

Сообщение от PonyS
То что нужно, спасибо большое, единственный момент, как сделать чтобы не было привязанности к ПЕРВЫМ числам, а на выбор любые? хоть 1 и 4-6, хоть 6-8-9 и т.д, но не подряд 1-2-3-4-5, заранее спасибо!

И чтобы можно было менять набор при работе!

рони 26.05.2016 19:09

PonyS,
вы обьясните как выбирать?

PonyS 26.05.2016 19:12

Цитата:

Сообщение от рони (Сообщение 417713)
PonyS,
вы обьясните как выбирать?

Вот как Decode сделал, но в том его коде можно выбирать 5 подряд начиная с первого, но нельзя изменить рандомно 3-й, 5-й и т.д., а мне нужно чтобы была возможность выбрать без привязки как там (с 1-го и по 5-й)

PonyS 26.05.2016 19:12

Цитата:

Сообщение от Dilettante_Pro (Сообщение 417712)
Decode,

И чтобы можно было менять набор при работе!

Вы о чем?


Часовой пояс GMT +3, время: 01:20.