Frage

Ich habe die Liste erstellt auf dem AJAX Ergebnis basiert. Grundsätzlich dynamisch die Elemente in der Liste hinzufügen. Aber in der zweiten Mal Ajax Berufung, das Listenelement append zu den vorherigen Artikeln. Ich möchte neu die Liste neu zu laden. Es sollten die Ergebnisse der zweiten Ajax Berufung enthält.

Ich möchte die alle Listenelemente alone.Not eine Liste von der Seite entfernen.

Jede Hilfe mir.

-Code zum dynamischen Ändern des Listenwert hinzufügen:

var parent = document.getElementById('listview');
var listItem = document.createElement('li');
listItem.setAttribute('id','listitem_'+i);
listItem.innerHTML = "one";
parent.appendChild(listItem);
$(parent).listview("refresh"); 
War es hilfreich?

Lösung

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

Dies sollte den Trick tun, um die Liste zu löschen.

P. S. Wenn Sie jQuery verwenden wollen, dann verwenden.

Andere Tipps

Wenn Sie alles entfernen wollen, warum dann nicht jQuery zu tun?

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

Dies wird Ihnen helfen, ein iphone wie Swipe löschen erstellen. Dies ist in Bezug auf 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]);
              });
            });         

    });

};

Nutzung:

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

Wenn ich du bist Frage verstanden, Sie versuchen, die Listenansicht zu leeren, bevor Sie neue entryes hinzufügen. Sie können dies tun, in:

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);
   }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top