0

我正在研究复选框的逻辑。如果复选框未选中,它会隐藏创建的列表项。这方面的一个例子是在jsFiddle我有刻度逻辑工作,但我想要的是“Untick”逻辑工作。

我给每个 li 项目一个类,所以基本上希望将两者配对以删除列表项。但只是没有任何运气。

谁能帮我扩展这个逻辑,以便我显示/隐藏未勾选的 li 项目,否则我只剩下一个永无止境的项目列表。

谢谢

4

2 回答 2

4

1)使用change事件收听复选框。如果使用click,则忽略来自键盘交互的任何状态更改。

2)您当前的“如果未检查”代码正在创建一个 NEWli并删除它(甚至在它进入 DOM 之前) - 大概不是您的意思。

我假设您的意思是删除 CURRENTli的类等于name已更改复选框的属性。查看更新的小提琴:

http://jsfiddle.net/qYtXX/9/

于 2012-07-27T10:29:57.997 回答
1

您可以从checkboxes的名称属性中删除空格,请尝试以下操作:

<input type="checkbox" title="100.00" class="service_check" value="8" name="Test Service Name">

=>

<input type="checkbox" title="100.00" class="service_check" value="8" name="TestServiceName">

    else if ($(this).not(":checked")) { // you can replace this line with "else {"
        var cls = $(this).attr('name') 
        $("li."+cls).remove();
        $(".hidden_service_id, .hidden_service_name, .hidden_service_cost").val("");
    }

演示

于 2012-07-27T10:39:08.553 回答