Как получить значения флажков в jQuery - PullRequest
0 голосов
/ 05 декабря 2010

Попытка опубликовать вопрос для принятого ответа на # 786142 Если вы отредактируете это решение и измените тег textarea на любой другой элемент уровня блока (с тем же атрибутом id), он больше не будет работать.В моем случае я пытаюсь удалить php gd-повернутое изображение, возвращаемое вызовом Ajax (установив флажок), когда пользователь передумал и снял этот флажок.Я понимаю, что val () не является функцией для добавления html-данных, но мне нужно выяснить, как заставить эту функцию работать со списком ul;тогда я разберусь, как бороться с самим изображением.Цените любые ответы, которые у вас есть.

Вот тот, который работает.(см. пример)

function updateTextArea() {         
    var allVals = [];
    $('#c_b :checked').each(function() {
      allVals.push($(this).val());
    });
    $('#t').val(allVals)
 }
$(function() {
  $('#c_b input').click(updateTextArea);
  updateTextArea();
});

Через несколько месяцев был задан еще один вопрос о том, как сохранить работоспособность вышеуказанного в случае изменения идентификатора.Итак, решение сводится к тому, чтобы отобразить функцию updateTextArea в нечто общее, использующее классы, и использовать функцию live для мониторинга DOM на предмет этих изменений.Извините, я сейчас не совсем готов написать пример.

1 Ответ

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

Надеюсь, я понял ваш вопрос.
Так что если у вас есть список ul, подобный этому:

<ul id="test_ul"><li></li></ul>

и вы хотели бы обновить это вместо элемента textarea, чем вы могли бы изменить свой код следующим образом:

function updateUlLi(ul_id) {
    var allVals = [];
    $('input:checkbox:checked').each(function() {
        allVals.push($(this).val());
    });
    $('#'+ul_id).html('<li>'+allVals+'</li>');
}

$(function() {
    updateUlLi('test_ul');
    $('#c_b input').click(function(){
        updateUlLi('test_ul');
    });
});

Он собирает все отмеченные флажки (!) На вашем сайте, а не только те, которые находятся в элементе с указанным id Еще одна модификация: вы передаете идентификатор ul в функцию. Надеюсь, это поможет.

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