【发布时间】:2011-10-18 21:10:15
【问题描述】:
我有两个标签:
- 在第一个选项卡中,我有一个固定的项目列表。每个项目都可以添加到另一个选项卡。
- 第二个选项卡包含来自第一个选项卡的自定义项目列表。
- 第二个选项卡应该只包含具有唯一 ID 的项目
- 不能多次将同一项目从 tab1 添加到 tab2。
添加和删除机制有效,但检查是否已将项目添加到 tab2 的检查无效。目前我只在该项目是否存在时发出警报。
如果在另一个方向进行检查,检查 tab1 中是否存在项目似乎工作正常,这对我来说似乎很奇怪。
有人可以对我的代码提出改进建议吗?
编辑: 问题是完成的检查总是返回“否”。它需要改进,我没有想法。
HTML:
<div class="demo">
<div id="tabs">
<ul>
<li><a href="#tabs-1">Bands</a></li>
<li><a href="#tabs-2">My bands</a></li>
</ul>
<div id="tabs-1">
<ul id="sortable1" class="bandList">
<li id="6" class="band">
<div class="text">Band 1</div>
<div class="actions">
<a href="#" class="add">Add</a>
<a href="#" class="remove">Remove</a>
</div>
</li>
</ul>
</div>
<div id="tabs-2">
<ul id="sortable2" class="bandList">
<li id="9" class="band">
<div class="text">Band 2</div>
<div class="actions">
<a href="#" class="add">Add</a>
<a href="#" class="remove">Remove</a>
</div>
</li>
</ul>
</div>
</div>
</div>
CSS:
.band .actions a.add{
background:url("../img/edit.png") no-repeat center center;
}
.band .actions a.remove{
background:url("../img/delete.png") no-repeat center center;
}
JQuery:
// Listening for a click on an add button
$('.band a.add').live('click',function(){
var cur_id = $(this).parent().parent().attr("id");
var tmp = ($('#sortable2').has('#' + cur_id).length ? "Yes" : "No")
alert(tmp);
$('#sortable2').append($('#'+cur_id).clone());
});
// Listening for a click on a delete button (original)
$('.band a.remove').live('click',function(){
var cur_id = $(this).parent().parent().attr("id");
$('#sortable2 > li').remove('#' + cur_id);
});
【问题讨论】: