Javascript 使用jQuery将元素拖放到文本框中 当我把一个Li元素放到文本框中时,它会在中间排列……在开始时如何排列这些元素?我用基金会

Javascript 使用jQuery将元素拖放到文本框中 当我把一个Li元素放到文本框中时,它会在中间排列……在开始时如何排列这些元素?我用基金会,javascript,jquery,css,jquery-ui,Javascript,Jquery,Css,Jquery Ui,可能有问题吗 我的jQuery: <script type="text/javascript"> $(function() { $("#dragdiv li").draggable({ helper: "clone", cursor: "move", revert: "invalid" }); initDroppable($("#dropdiv"));

可能有问题吗

我的jQuery:

<script type="text/javascript">
    $(function() {
        $("#dragdiv li").draggable({
            helper: "clone",
            cursor: "move",
            revert: "invalid"
        });

        initDroppable($("#dropdiv"));
        function initDroppable($elements) {
            $elements.droppable({
                activeClass: "ui-state-default",
                hoverClass: "ui-drop-hover",
                accept: ":not(.ui-sortable-helper)",

                over: function(event, ui) {
                    var $this = $(this);
                },
                drop: function(event, ui) {
                    var $this = $(this);
                    if ($this.val() == '') {
                        $this.val(ui.draggable.text());
                    } else {
                        $this.val($this.val() + "," + ui.draggable.text());
                    }
                }
            });
        }
    });
</script>

<style type="text/css">
    #dropdiv ul
    {
        display: inline-block !important;
        float: left;
    }
    #dragdiv ul{
        margin-top:20px; 
    }

</style>

$(函数(){
美元(“#dragdiv li”)。可拖动({
助手:“克隆”,
光标:“移动”,
回复:“无效”
});
initDroppable($(“#dropdiv”);
函数initdropable($elements){
$elements.dropable({
activeClass:“ui状态默认值”,
hoverClass:“ui放置悬停”,
接受:“:非(.ui可排序帮助程序)”,
结束:功能(事件、用户界面){
var$this=$(this);
},
drop:函数(事件、用户界面){
var$this=$(this);
如果($this.val()=''){
$this.val(ui.draggable.text());
}否则{
$this.val($this.val()+”,“+ui.draggable.text());
}
}
});
}
});
#滴灌
{
显示:内联块!重要;
浮动:左;
}
#德拉格迪夫{
边缘顶部:20px;
}
Html:

标记:

怎么做这个?请帮帮我

<p><b>Taguri:</b></p>

<input id="dropdiv" type="text" style="width:605" />

<div id="dragdiv">
    <ul id="allItems">
        <li id="node" runat="server">
            first tag                           </li>
        <li id="node" runat="server">
            second tag                          </li>
        <li id="node" runat="server">
            third tag                           </li>
    </ul>

</div>                
塔古里:

  • 第一标签
  • 第二标签
  • 第三标签

在每个
li
元素中,文本周围都有一堆选项卡,它们也在被复制

更改php,使其没有选项卡

<li id="node" runat="server"><?php echo $t['name'] ?></li>
请注意,我添加了
trim()
,以消除前导空格和尾随空格


我已经修改了您的代码。此代码将项目附加到列表中

HTML
从这里拖动
    标签1 标签2 标签3
到这里来
JQuery
$(“#dragdiv li”).draggable({
助手:“克隆”,
光标:“移动”,
回复:“无效”
});
$(“#dropdiv”)。可拖放({
activeClass:“ui状态默认值”,
hoverClass:“ui放置悬停”,
接受:“:非(.ui可排序帮助程序)”,
drop:函数(事件、用户界面){
var$this=$(this);
if($this.val().indexOf(ui.draggable.text())<0){
如果($this.val()=''){
$this.val(ui.draggable.text());
}否则{
$this.val($this.val()+”,“+ui.draggable.text());
}
}否则{
$this.val($this.val().replace(ui.draggable.text(),“”));
}
}
});

你能发布呈现的html而不是php吗?这会让我们更容易测试你正在使用的代码。你可以在这里找到你发布的php的html。请查看源代码,复制并粘贴。我们无法从您发布的内容中看到html。我发布了htmlNo问题-很高兴提供帮助。但是,如果元素被拖动,如何删除它?如果再次删除它,是否要删除该文本?我已根据需要对其进行了修改。因为这不是问题的一部分,所以我不会在我的答案中贴出来。。。。
<li id="node" runat="server"><?php echo $t['name'] ?></li>
drop: function (event, ui) {
    var $this = $(this);
    if ($this.val() == '') {
        $this.val(ui.draggable.text().trim());
    } else {
        $this.val($this.val() + "," + ui.draggable.text().trim());
    }
}
<h2>Drag from here</h2>
<div id="dragdiv">
    <ul id="allItems">
        <li class="node" runat="server">Tag 1</li>
        <li class="node" runat="server">Tag 2</li>
        <li class="node" runat="server">Tag 3</li>
    </ul>
</div> 

<h2>Drop here</h2>
<input id="dropdiv" type="text" style="width:605" />
        $("#dragdiv li").draggable({
            helper: "clone",
            cursor: "move",
            revert: "invalid"
        });

        $( "#dropdiv" ).droppable({
                activeClass: "ui-state-default",
                hoverClass: "ui-drop-hover",
                accept: ":not(.ui-sortable-helper)",
                drop: function(event, ui) {
                    var $this = $(this);
                    if($this.val().indexOf(ui.draggable.text()) < 0 ) {
                        if ($this.val() == '') {
                            $this.val(ui.draggable.text());
                        } else {
                            $this.val($this.val() + "," + ui.draggable.text());
                        }
                    }else{
                        $this.val($this.val().replace(ui.draggable.text(),''));
                    }
                }
            });