Замена / перезагрузка списка ввода с помощью jQuery и оставление первого элемента - PullRequest
2 голосов
/ 07 сентября 2011

Я создал функцию jQuery, которая получает набор простых объектов, содержащих id и title.

Затем я запускаю простой цикл для создания списка:

$.each(data['results'], function(key, val) {
    items.push('<label for="radio_show_' + val['id'] + '" >' 
        + '<input type="checkbox" name="radio_show" class="checkbox" id="radio_show_' + val['id'] + '" value="'+ val['id'] + '" >'
        + val['title'] 
        + '</label>');
});

Но теперь я не знаю, как сделать часть очистки.

Я хочу добавить этот список к определенному <ul>, я мог бы сделать это с помощью .appendTo(), но каждый раз, когда я это вызывал, это добавляло бы все больше и больше списков. Поэтому перед добавлением мне нужно удалить <ul> содержит с .empty(). Но главная проблема заключается в том, что я хочу сохранить первый элемент, который был бы тем же самым вводом, без значения и заголовка «Выбрать все» (вы поняли).

Ответы [ 3 ]

2 голосов
/ 07 сентября 2011

Не могли бы вы использовать что-то подобное, чтобы «очистить» ul -

$("ul > li:not(:first)").remove() 

Это должно удалить все элементы в ul апреле из первого.

Рабочая демоверсия - http://jsfiddle.net/zUuE9/

0 голосов
/ 07 сентября 2011

Чтобы удалить все li, кроме первого, попробуйте это:

$('#my-ul li').slice(1).remove();
0 голосов
/ 07 сентября 2011

Вы можете очистить ваш ul с помощью:

$('#my_ul input[value!=""]').parent('li').remove();

Это оставит ваш флажок Выбрать все (значение = "") в ul.

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