我正在寻找做某事的最佳方式。我有一个不同类别的列表。所有列表项都是可点击的。我希望用户选择 1 到 3 个项目。
当他点击某个东西时,我在 li 上添加了一个选定的类。当他再次单击同一个项目时,它会删除类(ToggleClass() )
我将整个事情包装在一个条件下,以计算有多少项目具有选定的类。这是我现在所在位置的小提琴:
我的问题是,当您选择了 3 个项目时,您不能“取消选择一个”,因为我的 if 语句阻止了它。这里有什么解决方案?(我也觉得这段代码真的不是最好的做法)
代码(与上面的 Fidlle 相同)
HTML
<ul>
<li class="chooseCategory16"><a onclick="test(16); return false;" href="#">test1</a></li>
...
</ul>
JS
function test(number) {
if ( $("li.selected").length <= 2) {
if( $("li.chooseCategory"+ number +"").hasClass("selected")) {
$("li.chooseCategory"+ number +"").removeClass("selected");
} else {
$("li.chooseCategory"+ number +"").addClass("selected");
}
}
}
</p>