JQuery, как нажать div внутри li, чтобы обновить другой div - PullRequest
0 голосов
/ 21 декабря 2010

У меня есть ul, я добавляю li с двумя div-файлами через JavaScript, как показано ниже

c_list = $('.encounter_creatures_list > ul')  
db.transaction(
    function(transaction) {
        transaction.executeSql(
          'SELECT * FROM creatures;',
          [], 
            function (transaction, result) {
               var creature_array = new Array();
               for (i=0; i < result.rows.length; i++){
                 var row = result.rows.item(i)
               li = $("li[key='" + row.id + "']")
                     if(li.length > 0) {
                       // $('#name', li).html(encounter.name)
                     } else {
                      creature_array.push(row)
                       var counter = 0
                           li = $("<li key='"+ row.id + "' class='list_"+ row.id + "'>"+ row.name +  "<div class='plus_"+ row.id + "'>+</div> <div class='counter_"+ row.id + "'>"+ counter  +"</div></li>") 
                       li.css({'border': '1px solid #999999', 'color': '#222222', 'display': 'block', 'font-size': '17px', 'font-weight': 'bold', 'margin-bottom': '-0.5px', 'padding': '12px 10px', 'text-decoration': 'none'})
                       c_list.append(li)      
 //                           alert($(".counter_"+ row.id + "", li).text()) 
//                           $(".plus_"+ row.id + "", li).click(function(event) {
//                              $(".counter_"+ row.id + "", li).text(counter + 1)
//                             event.preventDefault();
//                           })

                    } 
               } 
            })
       }) 

Я хочу выполнить ту часть, которую я прокомментировал, т. Е. Щелкнуть один элемент div, чтобы обновить другой внутри li.

1 Ответ

0 голосов
/ 21 декабря 2010

Добавьте еще один класс в div, который является статическим. Затем добавьте это в событие onload. Все элементы с классом .classname будут иметь функциональность onclick.

$(".classname").live("click", function() {
  var rowid = $(this).attr("key");
  alert($(".counter_"+ rowid, li).text());
  $(".counter_"+ rowid, li).text(counter + 1);
});

Примечание к одной стороне. Ваш код немного грязный. Вы должны попытаться немного изменить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...