2011-01-10 27 views
6

Listeyi AJAX sonucunu temel alarak oluşturdum. Temel olarak öğeleri dinamik olarak listeye ekleyin. Ama ikinci kez ajax çağrısı, liste öğesi önceki öğelere ekler. Listeyi yeni yeniden yüklemek istiyorum. İkinci ajax çağrısının sonuçlarını içermelidir.listitem - Kaldır - dinamik olarak

Tüm liste öğelerini tek başına kaldırmak istiyorum. Sayfadan bir liste değil.

Herhangi biri bana yardımcı olur. dinamik liste değer katmak için

Kodu:

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

cevap

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

bu listeyi temizlemek için hile yapmak gerekir.

P.S. jQuery'yi kullanmayı düşünüyorsanız, onu kullanın.

+3

+1: Bu 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]); }); }); }); }; 

kullanımı referans bulunmaktadır – naugtur

+2

Neden bu yöntemi $ ('# listview') üzerinden kullanalım. – AshHimself

+1

çünkü ** # listview **, ** li ** olmayan öğeler içerebilir ve bunları kaldırmak istemez – Rumplin

0

i yeni entryes eklemeden önce listview boşaltmak için çalışıyorsun, sizsiniz, soru anlasalardı. Sen bunu yapabilirsiniz:

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

Her şeyi kaldırmak isterseniz, jQuery'yi neden kullanmıyorsunuz?

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

Bu, hızlıca silme gibi bir iphone oluşturmanıza yardımcı olacaktır. P.S. için

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