2011-01-10 15 views
6

He creado la lista en función del resultado de AJAX. Básicamente, agregue dinámicamente los elementos a la lista. Pero en la segunda vez que se llama ajax, el elemento de la lista se agrega a los elementos anteriores. Quiero volver a cargar la lista. Debe contener los resultados de la segunda llamada ajax.listitem - Eliminar - dinámicamente

Quiero eliminar solo todos los elementos de la lista. No es una lista de la página.

Cualquiera me ayude.

Código para añadir dinámicamente el valor de lista:

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

Respuesta

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

esto debe hacer el truco para borrar la lista.

P.S. Si tiene la intención de utilizar jQuery, úselo.

+3

+1 para la P.S. – naugtur

+2

¿Por qué uno usaría este método sobre $ ('# listview'). Empty(); – AshHimself

+1

porque ** # listview ** puede contener elementos que no son ** li ** y no quiere eliminarlos – Rumplin

0

si he entendido que eres cuestión, que está tratando de vaciar la vista de lista antes de agregar nuevos entryes. Puede hacer esto en:

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"); 
0
function removeAllOptions(selectbox){ 
    var i; 
    for(i=selectbox.options.length-1;i>=0;i--){ 
     selectbox.remove(i); 
    } 
} 
14

Si quiere eliminar todo, ¿por qué no utilizar jQuery para hacerlo?

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

Esto le ayudará a crear un iphone como eliminar deslizar. Esto es en referencia a 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]); 
       }); 
      });   

    }); 

}; 

uso:

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