6

AJAXの結果に基づいてリストを作成しました。基本的に、アイテムをリストに動的に追加します。ただし、2回目のajax呼び出しでは、リスト項目が前の項目に追加されます。リストを新たにリロードしたい。2番目のajax呼び出しの結果が含まれている必要があります。

すべてのリストアイテムだけを削除したい。ページからリストではない。

誰もが私を助けてくれます。

リスト値を動的に追加するためのコード:

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

5 に答える 5

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

これにより、リストをクリアするためのトリックが実行されます。

PS jQueryを使用する場合は、それを使用してください。

于 2011-01-10T15:26:26.157 に答える
14

すべてを削除したい場合は、jQueryを使用して削除してみませんか?

$('#listview').empty();
于 2011-01-11T07:40:43.397 に答える
1

これは、スワイプ削除のようなiPhoneを作成するのに役立ちます。これは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]);
              });
            });         

    });

};

利用方法:

EXERCISEDESCRIPTION.swipeDelete('exerciseSetsListview',
    function(e) {
        EXERCISEDESCRIPTION.setsObj.splice(e,1);
        EXERCISEDESCRIPTION.repopulateSets();
    }); 
于 2012-02-27T07:45:22.747 に答える
0

あなたが質問していることを理解した場合は、新しいエントリを追加する前にリストビューを空にしようとしています。あなたはでこれを行うことができます:

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"); 
于 2011-01-10T14:35:54.733 に答える
0
function removeAllOptions(selectbox){
   var i;
   for(i=selectbox.options.length-1;i>=0;i--){
       selectbox.remove(i);
   }
}
于 2011-01-10T14:36:20.247 に答える