jquery on click enable禁用选择+移动div

时间:2012-05-17 00:05:27

标签: jquery

我有一些代码,绅士很友善地与我合作。他完成了一项非常出色的工作。但我注意到一个我无法解决的小问题。不幸的是,这方面的技能水平略高于我的能力。所以任何帮助都会受到赞赏。

它的功能演示位于>> http://jsfiddle.net/5fM9p/

问题在于,当点击“删除”时,我还需要它来重新启用最初在添加时禁用的选择。

3 个答案:

答案 0 :(得分:1)

替换下面的删除功能将为您完成。

$(".remove_from_cart").live("click", function(){
    var item=$(this);
    var itemId=item.parent().find(".product").attr("id");   
    item.parent().remove();
    var disabled=$(".added").find("#"+itemId).parent();   
    disabled.find("select").removeAttr("disabled");
    disabled.find("p").remove();
    disabled.append('<a class="add_to_cart" href="#add">Add To Cart</a>');   

});

但我发现您的HTML标记存在问题。您有多个具有相同ID的元素。这是不好的。 ID应该是唯一的。你应该解决这个问题。

另一件事是,一旦你重新启用链接添加到购物车(当单击删除购物车时),它不会工作,因为你之前绑定它。因此,您需要更改绑定代码以使用{/ 1}}这样的方法

live

工作样本:http://jsfiddle.net/5fM9p/23/

答案 1 :(得分:0)

试试这个:

$(".remove_from_cart").live("click", function(){
    var id = $(this).parent().find("select").attr("id");
    $(this).parent().remove();
    $("#" + id).parent().find("select").attr("disabled", "");
    $("#" + id).parent().find("p").remove();
    $("#" + id).parent().append('<a class="add_to_cart" href="#add">Add To Cart</a>'); 
});  

http://jsfiddle.net/5fM9p/25/

答案 2 :(得分:0)

考虑这个小提琴:http://jsfiddle.net/6V52G/

使用可用于识别哪些元素组属于哪个产品的属性并删除整个setupForm函数,从一开始就将这些元素放入HTML中。