Узнать, id списка
Добрый день.
есть список <ol id="selectable"> <li class="of" id="00"></li> <li class="of" id="01"></li> <li class="of" id="02"></li> ... тестовое поле <input type="text" id="flag" size="40"> есть скрипт $(document).ready(init); function init(){ $(function(){ $('#selectable') .bind("mousedown", function(e) {e.metaKey = true;}) .bind("click", function () {$('.of').click(function() {txt=$('#flag').val(); $('#flag').val(txt + this.id);})}) .selectable(); }); }; CSS #selectable .ui-selecting, #selectable .ui-state-default { background: #5384ae; } #selectable .ui-selected { background: #5384ae; color: white; } #selectable .ui-selected-true { background: #5384ae; color: white; } #selectable { list-style-type: none; margin: 0; padding: 0;} #selectable li { margin:1px; ;padding: 1.1px; float: left; width: 15px; height: 15px; font-size: .9em; text-align: center; background: #dfeffc; } при каждом клике в текстовое поле должен быть записать id выбранного пункта li. есть две проблемы: 1. сейчас записывается id столько раз, сколько я сделал кликов по пунктам. например, первый клик = одной записи, второй клик = двум записям и т.д. 2. вторая проблема если выбрать несколько пунктов одним кликом (перетаскивая мышь), id в текстовое поле вообще не пишутся, а должны попасть все. |
Цитата:
$(document).ready(function(){$(document).ready(...)}) Про логику слыхал, не? Цитата:
И кстати, че эт ты в одном случае пишешь .bind('click'), а в другом .click() ? И между прочим bind() устарел. |
не досмотрел тут от старой попытки осталось.
Сообщение от kukush $(document).ready(init); function init(){ $(function(){ на счет click и bind пока у меня по другому не получается реализовать... я собственно и спросил как можно эту неправильную конструкцию изменить |
kukush,
пример подсчёта выделенных пунктов -- у человека целый плагин получился -- Класс выделения элементов. Нужна критика. в этот код легко добавить вывод id |
спасибо, буду разбирать
|
Цитата:
само выделение конечно с вопросами. |
Цитата:
|
Общая схема такова. В некий объект валятся ссылки на элементы после щелчков. После каждого скрипт должен попытаться найти такой элемент в объекте и, если такого нет - новый, добавить, отразить; если такой есть - ничего не добавлять, отражено.
Применительно к обычному массиву это было бы var id = arr.indexOf(clicked.elem.id; if(id<0) arr.push(clicked.elem.id) Если кликнутый должен быть отозван продолжается else arr.splice(id,1); |
Часовой пояс GMT +3, время: 00:49. |