Pregunta

He creado la lista basándose en el resultado AJAX. Básicamente añadir dinámicamente los elementos en la lista. Pero en la segunda llamada ajax tiempo, la lista de elementos de datos anexados para los artículos anteriores. Quiero volver a cargar la nueva lista. Debe contiene los resultados de la segunda llamada Ajax.

Quiero eliminar todos los elementos de la lista alone.Not una lista de la página.

Cualquier ayuda mí.

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"); 
¿Fue útil?

Solución

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

Esto debe hacer el truco para borrar la lista.

P.S. Si se va a utilizar jQuery, y luego usarlo.

Otros consejos

Si desea eliminar todo, ¿por qué no usar jQuery para hacerlo?

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

Esto le ayudará a crear un iPhone como el golpe de eliminación. 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();
    }); 

Si le he entendido No 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"); 
function removeAllOptions(selectbox){
   var i;
   for(i=selectbox.options.length-1;i>=0;i--){
       selectbox.remove(i);
   }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top