Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Динамичность на странице
 
 автор: Ильдар   (11.01.2012 в 15:21)   письмо автору
 
 

у меня есть на странице 3 чекбокса:
<input type=checkbox name=ch[]>
<input type=checkbox name=ch[]>
<input type=checkbox name=ch[]>
<a id="check-all">Выделить все</a>
<script>
$("#check-all").click(function () {
    $("input[name=ch]").attr("checked", "checked");
});
</script>


если я добавлю еще например 2 чекбокса динамически (тем же jquery), то у меня они не будут выделяться при нажатии <a id="check-all">Выделить все</a>

Что можете предложить?

  Ответить  
 
 автор: АЯС   (13.01.2012 в 04:45)   письмо автору
 
   для: Ильдар   (11.01.2012 в 15:21)
 

Предложить можно единственное:
1) выбросить JQuery и никогда более этими "костылями для убогих" не пользоваться
2) изучить нормальный Javascript+DOM браузеров и делать всё, что вам будет угодно.

  Ответить  
 
 автор: Гость   (13.01.2012 в 11:10)   письмо автору
 
   для: Ильдар   (11.01.2012 в 15:21)
 

$(function(){
    $('#check-all').click(function () { 
        $('input[name="ch[]"]').attr("checked", "checked");
    }); 
});


Странно что у вас до этого работало.

  Ответить  
 
 автор: AlexSol   (13.01.2012 в 12:17)   письмо автору
 
   для: Ильдар   (11.01.2012 в 15:21)
 

чтобы учитывало динамически добавленные элементы используйте live()


$("selector").live('click',function () { })

  Ответить  
 
 автор: Ильдар   (13.01.2012 в 18:43)   письмо автору
 
   для: AlexSol   (13.01.2012 в 12:17)
 

Спасибо всем.
Еще замечания
Замечание 1: начиная с jQuery-1.7, данный метод считается устаревшим. Предпочтительным является методом .on(). 

Замечание 2: убрать установленный обработчик можно с помощью метода die(). 

Замечание 3: для правильной работы метода live(), необходимо вызывать его непосредственно после выбора элементов с помощью селектора.
$("div").live("click", foo); - правильно, $("div").next().live("click", foo); - неправильно.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования