我尝试做的是点击li span将li元素从一个容器移动到另一个容器。我有一个选择和我的选择容器,如果用户点击第一个容器中的li span(id =“add”),则li将被删除,并且应该出现在第二个容器中。 比我提出以下结构,可能不是最好的解决方法,因为我只是移动选定的li有问题,我不知道如何处理回调在这种情况下。我很感激建议
<script>
(function($){
jQuery( "#catalog" ).accordion({
heightStyle: "content"
});
jQuery("span#add").click(function(){
jQuery(this).parent().animate(
{
'margin-left':'1000px'
},1000,
function(){
var ul_class = $(this).parent().attr('class');
$(this).slideUp('fast');
$("ul."+ ul_class + "_clone").append($(this).parent().html());
$(this).remove();
}
);
});
}) (jQuery);
</script>
<?php $datas = json_decode($param[0]->params) ?>
<div class="config_holder">
<div id="products">
<h3>Config Params</h3>
<div id="catalog">
<?php foreach ($datas as $key1=>$data):?>
<h4><a href="#"><?php if(!empty($key1)) echo $key1 ?></a></h4>
<div>
<ul class="<?php echo $key1 ?>">
<?php if(!empty($data) ):?>
<?php foreach($data as $key2=>$item):?>
<?php if($key2 !=" " || $key2 != " "): ?>
<li id="" class="ui-state-default ui-corner-all" ><?php echo $key2; ?><span style="float:right" id="add" class="ui-icon ui-icon-circle-plus"></span></li>
<?php endif;?>
<?php endforeach; ?>
<?php endif;?>
</ul>
</div>
<?php endforeach;?>
</div>
</div>
<div id="cart">
<h3 >Mein Konfiguration</h3>
<div class="ui-widget-content">
<img title="" src="http://i.dell.com/das/dih.ashx/165x130/sites/imagecontent/consumer/merchandizing/de/PublishingImages/165x119/6315-inspiron-17r-5721-165X119-de.png" alt="">
<ol>
<li class="placeholder">My Choises</li>
<?php foreach ($datas as $key3=>$clone):?>
<ul class="<?php echo $key3 ?>_clone"></ul>
<?php endforeach;?>
</ol>
</div>
<a href=""><button>search</button></a>
</div>
</div>
答案 0 :(得分:0)
如果你可以使用jquery ui,你可以使用它的连接列表功能。
$(function() {
$( "#IdOfFirstList, #IdOfSecondList" ).sortable({
connectWith: ".commonClassName"
}).disableSelection();
});
的链接
答案 1 :(得分:0)
试试这个......
$("span, #add, .ui-icon").on('click', function(){
$(this).parent().animate({'margin-left':'1000px'}, 1000, function(){
var ul_class = $(this).parent().attr('id');
$(this).slideUp('fast');
$("ul#"+ ul_class + "_clone").append($(this).parent().html());
$(this).remove();
});
});
并查看此DEMO