Вот как Decode сделал, то можно изменить class у 5-и div, но только с 1-го по 5-й, а если я хочу изменить вот так к примеру: 3, 6, 8, 10, 7 - но так я не могу... То бишь почему-то после 5-го div все остальные неактивные для изменения стали... скорее всего из-за селектора lt, но альтернативы что-то не могу найти
|
Цитата:
Цитата:
|
Цитата:
|
PonyS,
Я просто немного забежал вперед в ваших просьбах. А как вы хотите определять, какие блоки переключать? |
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(), i = 1; $('.price').click(function() { toggleClass(this); }); function toggleClass(elem) { if (i > count && !$(elem).hasClass('select')) return; ( $(elem).hasClass('select') ) ? ( $(elem).removeClass('select'), i-- ) : ($(elem).addClass('select'), i++); } </script> </body> </html> |
Цитата:
|
Подскажите пожалуйста последнее, пробую получить значения что я выбрал из <p class="place"> по клику и занести его в input text, но не получается занести все что выбрал, а только 1-но, последнее что выбрал. То бишь к примеру я изменил class 3-у, 5-у, -6у блоку, и в input text после изменения каждого(по очереди) записывались данные из тега <p>, то бишь вышло бы так : <input type="text" value="3,5,6">, пробую вот так:
<script> var count = $('input[type=hidden]').val(), i = 1; $('.place').click(function() { toggleClass(this); var text = $(this).text();//получаю значение .place $('input[type=text]').val($(this).text() + $(this).text());//заношу в input значение из place }); function toggleClass(elem) { if (i > 5 && !$(elem).hasClass('select')) return; ( $(elem).hasClass('select') ) ? ( $(elem).removeClass('select'), i-- ) : ($(elem).addClass('select'), i++); } </script> В итоге с моим скриптом выходит просто дубль 1-го p что я выбрал, <input type="text" value="88"> |
Decode,
строка 4!!! |
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" /> <input type="text" value=""> <script src="https://code.jquery.com/jquery-2.1.4.js"></script> <script> var count = $('input[type=hidden]').val(); $('.price').click(function() { $(this).toggleClass('select', $('.select').length < count && !$(this).is('.select')); var arr = []; $('.price').each(function(i,el){ $(el).is('.select') && arr.push(++i) }); $('input[type=text]').val(arr) }); </script> </body> </html> |
Цитата:
|
Часовой пояс GMT +3, время: 19:55. |