Question

J'ai créé la liste en fonction du résultat AJAX. Fondamentalement ajouter dynamiquement les éléments dans la liste. Mais dans la deuxième fois ajax appel, l'ajout de l'élément de liste aux éléments précédents. Je veux recharger la nouvelle liste. Il devrait contenir les résultats de la deuxième appel ajax.

Je veux supprimer tous les éléments de la liste alone.Not une liste de la page.

Toute une aide-moi.

Code pour ajouter dynamiquement la valeur de la liste:

var parent = document.getElementById('listview');
var listItem = document.createElement('li');
listItem.setAttribute('id','listitem_'+i);
listItem.innerHTML = "one";
parent.appendChild(listItem);
$(parent).listview("refresh"); 
Était-ce utile?

La solution

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

cela devrait faire l'affaire pour effacer la liste.

P.S. Si vous avez l'intention d'utiliser jQuery, utilisez-le.

Autres conseils

Si vous voulez supprimer tout, alors pourquoi ne pas utiliser jQuery pour le faire?

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

Cela vous aidera à créer un iPhone comme swipe suppression. Ceci est en référence à 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]);
              });
            });         

    });

};

utilisation:

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

Si je vous comprends question êtes la, vous essayez de vider le listview avant d'ajouter de nouvelles entryes. Vous pouvez le faire dans:

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);
   }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top