aeyrwbz

Если Вы совсем новичок и слабо представляете себе возможности jQuery, не можете понять в каком форуме задать свой вопрос - Вам сюда.

Модераторы: TRAHOMOTO, tuareg, Gennady

aeyrwbz

Сообщение andreevich » 04 май 2010, 16:20

создаю список элементов
Код: выделить все
for (var i=0;i<max_lenght;i++)
                r+="<li class='qq'>"+result.rows.item(i)['key']+":"+result.rows.item(i)['value']+"</li>"
                $('#rezult').html(r)


вешаю код на тег 'li' cклассом 'qq'

Код: выделить все
$('.qq').click(function(){
              var d =  $(this).text()
console.log(d)
}

Так вот, не работает ничего. А если я создаю список "вручную" (обычная разметка) - то всё нормально.
Зная, что чего-то недопонимаю, но вот чего....
пробовал так же создавать обработчик через
Код: выделить все
.bind("click",function(){})
- тот же результат
andreevich
 
Сообщений: 40
Зарегистрирован: 29 апр 2010, 12:14

Re: aeyrwbz

Сообщение lifter » 04 май 2010, 17:39

Проблема в цикле первом, покажите исходный массив, для которых делается список, можно же намного проще все сделать :) ждем массивов, а дальше код обдумаем
lifter
 
Сообщений: 14
Зарегистрирован: 03 май 2010, 19:49

Re: aeyrwbz

Сообщение lifter » 04 май 2010, 17:42

result.rows.item(i) - что это такое? )) Дайте полный код
lifter
 
Сообщений: 14
Зарегистрирован: 03 май 2010, 19:49

Re: aeyrwbz

Сообщение andreevich » 04 май 2010, 17:50

Код: выделить все
for (var i=0;i<5;i++)
var a='тра-та-та'
var b= 'тру-ту-ту'
r+="<li class='qq'>"+a+":"+b+"</li>"
$('#rezult').html(r)


А
Код: выделить все
result.rows.item(i)
- это работа с web sql db . Возвращает значение i-го элемента
andreevich
 
Сообщений: 40
Зарегистрирован: 29 апр 2010, 12:14

Re: aeyrwbz

Сообщение lifter » 04 май 2010, 18:05

Код: выделить все
for (var i=0;i<5;i++){
var a='тра-та-та';
var b= 'тру-ту-ту';
r+="<li class='qq'>"+a+":"+b+"</li>";}
$('#rezult').html(r);
для начала думаю нужно фигурные скобочки поставить и точки с запятыми...

Что console.log(r) показывает?
lifter
 
Сообщений: 14
Зарегистрирован: 03 май 2010, 19:49

Re: aeyrwbz

Сообщение andreevich » 04 май 2010, 21:29

Вот полностью документ:
Код: выделить все
   db.transaction(function(tx) {
              tx.executeSql(
                   "select * from test2 order by 1",[],
                   function(tx,result) {
                      var max_lenght = result.rows.length;
                      console.log("Количество результатов: "+result.rows.length)
                      $("#rez2 ").html("<ul></ul>");
                       var r ='';
                       for (var i=0;i<max_lenght;i++){
                          var a = result.rows.item(i)['key'];
                          var b = result.rows.item(i)['value'];
                            r+="<li class='qq'>"+a+":"+b+"</li>";
                         }
                            $('#rez2 ul').html(r);
                  },
                   function(tx, error) { console.log("Error:"+error.message) }
              )
            });

этой функцией идёт запрос к базе данных и возвращаются значения, которые записываются в div с id="rez2" в виде списка
После выполнения скрипта создаются ДЕЙСТВИТЕЛЬНО ПРАВИЛЬНАЯ РАЗМЕТКА. т.е. скрипт работает корректо
Изображение


вроде всё нормально и меня устраивает, теперь хочу прикрутить обработчик на эти li-шки
Код: выделить все
       $('li').click(function(){
           var tt = $(this).text();
           console.log('-->'+tt);
       });

и конец всему :( не работает
Код: выделить все
console.log
ничего вообще не показывает (((
andreevich
 
Сообщений: 40
Зарегистрирован: 29 апр 2010, 12:14

Re: aeyrwbz

Сообщение lifter » 04 май 2010, 23:18

тогда все просто, нужно вместо
Код: выделить все
$('li').click(function(){
           var tt = $(this).text();
           console.log('-->'+tt);
       });
использовать
Код: выделить все
$('li').live("click", function(){
           var tt = $(this).text();
           console.log('-->'+tt);
       });

У вас контент динамически добавляется и поэтому событие клик не срабатывает, а live применяется также и к динамически добавляемому контенту, должно помочь, попробуйте
lifter
 
Сообщений: 14
Зарегистрирован: 03 май 2010, 19:49

Re: aeyrwbz

Сообщение andreevich » 05 май 2010, 00:13

какая прелесть. Всё работает. Спасибо.
пошёл читать про live()
andreevich
 
Сообщений: 40
Зарегистрирован: 29 апр 2010, 12:14


Вернуться в Вопросы от совсем новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 5