我需要在整数列表中添加和删除项目。列表中不会有重复。我将列表传递给查询并显示结果。现在,我只需要能够以空列表开始,并且当用户选择项目时,将填充列表。
这个想法是,当用户第一次点击时,该项目将以粗体显示,其ID将添加到列表中。第二次单击某个项目时,该项目将被取消绑定,ID将从列表中删除。容易,对吧?
<script type="text/javascript">
$(document).ready(function() {
MyList = "";
$(".Cat").live("click", function() {
CurrentClass = $(this).attr("class");
// CLICKED
if (CurrentClass == "Cat") {
$(this).addClass("Bold");
NewItem = $(this).attr("id");
// ADD ITEM TO LIST
MyList =
// UNCLICKED
} else {
$(this).removeClass("Bold");
NewItem = $(this).attr("id");
// REMOVE ITEM FROM LIST
MyList =
}
});
});
</script>
<span id="1" class="Cat">1</span>
<span id="2" class="Cat">2</span>
<span id="3" class="Cat">3</span>
答案 0 :(得分:1)
初始化列表:
var myList = []
添加:
myList.push(NewItem)
删除:
myList.splice( $.inArray(NewItem, myList), 1 );
我认为这是主要问题,通常通过添加/删除类来完成项目的加粗/取消绑定。而且我看到你已经做到了。
答案 1 :(得分:1)
绝对听起来像你想要一个数组。但这是一个将MyList简单地保存为字符串的示例:
答案 2 :(得分:0)
我是一个数组并保持简单:
$(document).ready(function() {
var MyList = new Array();
$(".Cat").live("click", function() {
CurrentClass = $(this).attr("class");
// CLICKED
if (CurrentClass == "Cat") {
$(this).addClass("Bold");
NewItem = $(this).attr("id");
// ADD ITEM TO LIST
MyList.push(NewItem);
// UNCLICKED
} else {
$(this).removeClass("Bold");
NewItem = $(this).attr("id");
// REMOVE ITEM FROM LIST
MyList.splice( $.inArray(NewItem, MyList), 1 );
}
});
});
填充此数组后,将其显示为以逗号分隔的实际列表就像MyList.join(',')