Узнать, 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, время: 04:10. |