Вопрос

Я создал список на основе результата AJAX. В основном динамически добавляют элементы в список. Но во второй раз вызывающий ajax, элемент списка прилагает к предыдущим пунктам. Я хочу перезагрузить список вновь. Он должен содержать результаты второго вызова AJAX.

Я хочу удалить все остальные вещи в одиночку. Не список со страницы.

Любой, кто мне поможет.

Код для динамически добавить значение списка:

var parent = document.getElementById('listview');
var listItem = document.createElement('li');
listItem.setAttribute('id','listitem_'+i);
listItem.innerHTML = "one";
parent.appendChild(listItem);
$(parent).listview("refresh"); 
Это было полезно?

Решение

$('#listview').children().remove('li');

Это должно сделать трюк, чтобы очистить список.

PS Если вы намерены использовать jQuery, затем используйте его.

Другие советы

Если вы хотите удалить все, то почему бы не использовать jQuery, чтобы сделать это?

$('#listview').empty();

Это поможет вам создать iPhone, как Swipe Delete. Это относится к http://forum.jquery.com/topic/adding-an-iphone-style-swipe-to-delete-button-to-a-listview.

EXERCISEDESCRIPTION.swipeDelete = function(exerciseSetsListview, callback) {

    var listViewJq = '#'+exerciseSetsListview;
    $(listViewJq).children().each(function(){
        var child = $(this);
        var childId = child.attr('id');
        var splitId = childId.split("_");
        var childIdVar = '#'+childId;
        var childIdBtnVar = splitId[0]+'_button_'+splitId[1];
        var childIdBtnVarJq = '#'+childIdBtnVar;

        $(childIdVar).bind('swiperight', function() {
              $(childIdVar).prepend('<a href="#" id="'+childIdBtnVar+'" class="aSwipeBtn" data-theme="b" data-inline="true" data-role="button">Delete</a>');
              $(childIdBtnVarJq).button();
              $(childIdVar).unbind('swiperight');
              $(childIdBtnVarJq).bind('click tap', function() { 
                  $(childIdVar).remove();
                  var splitButtonId = childIdBtnVarJq.split("_");
                  callback(splitButtonId[2]);
              });
            });         

    });

};

использование:

EXERCISEDESCRIPTION.swipeDelete('exerciseSetsListview',
    function(e) {
        EXERCISEDESCRIPTION.setsObj.splice(e,1);
        EXERCISEDESCRIPTION.repopulateSets();
    }); 

Если я понял, что вы сомневаетесь, вы пытаетесь опустошить список ListView, прежде чем добавлять новые записи. Вы можете сделать это в:

var parent = document.getElementById('listview');

//remove all childs here , or easyer with html()
parent.html('');

var listItem = document.createElement('li');
listItem.setAttribute('id','listitem_'+i);
listItem.innerHTML = "one";
parent.appendChild(listItem);
$(parent).listview("refresh"); 
function removeAllOptions(selectbox){
   var i;
   for(i=selectbox.options.length-1;i>=0;i--){
       selectbox.remove(i);
   }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top