2009-06-01 8 views
2

JavaScriptを使用してアイテムを追加してもう一度削除できるお気に入りリストを作成しています。値は、ユーザーが戻ったときにリストを覚えておくためにクッキーに保管されます。私が持っている問題は、リストからアイテムを削除するメソッドは、ポストバックが最初にない限り実行されないということです。項目を削除するために私のコードは次のようになります。Javascriptのメソッド

function removeFavorite(OrderId) { 
    debugger; 
    var cookieValues = jQuery.cookie('FavoriteList'); 
    var cookieArray = cookieValues.split(","); 
    for (var i = 0; i < cookieArray.length; i++) { 
     if (cookieArray[i] == OrderId) { 
      cookieArray.splice(i, 1); 
     } 
    } 
    jQuery('li#liFavoriteOrder_' + OrderId).remove(); 
    jQuery.cookie('FavoriteList', cookieArray.join(",")); 
} 

とメソッドを呼び出すコードは、次のようになります。

<a onclientclick="removeFavorite(1272331)" style="cursor: pointer;"> 

とリストが

<ul id="ulFavoriteList"> 
<li id="FavoriteId_1272331"> 
Milk 
<a onclientclick="removeFavorite(1272331)" style="cursor: pointer;"> 
<img src="/Images/Icons/bullet_toggle_minus.png"/> 
</a> 
</li> 
</ul> 
のように見えます

リストに追加するコードは、このように少し見えます(短いイオン):

 jQuery('<li id=\"liFavorite_' + OrderId + '\"><a target=\"_blank\" href=\"' + url + '\">' + OrderName + '</a><a style="cursor:pointer;" onclientclick="removeFavorite(' + OrderId+ ')"><img src="/Images/Icons/bullet_toggle_minus.png" /></a></li>').appendTo('ul#ulFavoriteList'); 

答えて

1

これは単なる非常にばかげたエラーでした。私は通常のHTML要素でonclientclickを使うことはできませんが、代わりにonclickを使う必要があります。