【问题标题】:Javascript method [closed]Javascript方法[关闭]
【发布时间】:2009-06-01 08:55:56
【问题描述】:

我正在制作一个收藏列表,您可以在其中通过 javascript 添加项目并再次删除它们。这些值存储在 cookie 中,以便在用户返回时记住该列表。我遇到的问题是从列表中删除项目的方法不会运行,除非首先有回发。我删除项目的代码如下所示:

 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');

【问题讨论】:

    标签: javascript methods


    【解决方案1】:

    这只是一个非常愚蠢的错误。我不能在常规 html 元素上使用 onclientclick,但需要使用 onclick 代替。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-21
      • 1970-01-01
      • 2014-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-19
      • 2022-01-17
      相关资源
      最近更新 更多