【问题标题】:how can get id value of a parent div at the time of dragging child div to another div在将子div拖到另一个div时如何获取父div的id值
【发布时间】:2017-10-10 13:17:13
【问题描述】:

我正在编写拖放代码。我想将一个子 div 从一个父 div 拖到另一个父 div,我怎样才能得到父 div 的 id 的值和另一个父 div 的 id ,其中放置了可拖动的子 div 。 我在下面写代码。

<script>
function allowDrop(ev) {
    ev.preventDefault();
}

function drag(ev) {
    ev.dataTransfer.setData("text", ev.target.id);
    ev.dataTransfer.setData("ter", $(this).closest("div"));
    var topi = $(this).closest("div");
    console.log('draggable= ' + topi)
}

function drop(ev) {
    ev.preventDefault();
    var data = ev.dataTransfer.getData("text");

    var divid = ev.dataTransfer.getData("ter").toString();
    // var divid=$(this).closest('ul').attr('id');
    var topi = $(this).closest('div').attr('id');
    console.log(data);
    console.log('sss ' + topi);

    ev.target.appendChild(document.getElementById(data));
    $.ajax({
        type: "POST",
        url: "insertData.action",
        data: data,
        success: function (response) {
            // console.log(data);
        }
    });
}
</script>

<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">
    <s:if test="inlist.size>0">
        <%
            int k = 1;
        %>
        <s:iterator id="sl" value="inlist">
            <div draggable="true" ondragstart="drag(event)" id='<s:property value="id"/>' width="88" height="31">
                <li>
                    <s:property value="name"/>
                </li>
            </div>
        </s:iterator>
    </s:if>
</div>

<div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<div id="div3" ondrop="drop(event)" ondragover="allowDrop(event)"></div>

我正在附上图片

在该图像中,像 ganesh 这样的每个名称都在可拖动的子 div 下,并且看起来像 box(total 3) 是可放置的父 div

【问题讨论】:

  • 你能用实际渲染的内容制作 SO Fiddle 吗?
  • 小提琴意味着什么?我没明白这一点。
  • 你把代码放进去的东西(这个带有 JS/HTML/CSS 面板的大弹出窗口)
  • 我没有放任何面板,这是单页项目,我在这个问题的页面中发布了所有这些内容
  • 在显示 HTML 的这个问题中:将所有可解析的内容替换为实际的 HTML 而不是 &lt;% int k = 1 %&gt;

标签: javascript jquery


【解决方案1】:

drag(ev) 中,thiswindow。使用$(ev.target).closest("div")

function drag(ev) {
    var dragDivId = $(ev.target).closest("div")[0].parentElement.id;
    console.log(dragDivId);
}

function drop(ev) {
    var dropDivId = ev.target.id;
    console.log(dropDivId);
}

【讨论】:

    猜你喜欢
    • 2013-01-27
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 1970-01-01
    相关资源
    最近更新 更多