如何从按钮单击javascript拖入放置区域的div中获取ID

时间:2015-05-29 01:11:07

标签: javascript jquery html css

我正在尝试找到一种方法,以便在拖放区域中使用拖动的div后获取ID。

所有拖动组件都有一个来自drag1的标识 - drag8,放置区域是div放置区域。因为页面加载时放置区域中没有div我想要在一个保存按钮上收集id,现在有一个文本框条目和下拉菜单选择。

我尝试过以下代码:

$(document).ready(function() {
    $("#dropzone div").click(function() {
        var index = $("#dropzone div").index(this);
        $("#dropzone_drag").html("Index " + drag + " was clicked");
    });
});

我在文本框中使用jQuery,效果很好:

$(document).ready(function() {
    $('#save').click(function() {
        alert($('#name').val());
    });
});

如何在拖放区域中找到拖拽div的ID?

3 个答案:

答案 0 :(得分:0)

在我的理解中.index(this)返回元素相对于列表“#dropzone div”的索引,它可能包含也可能不包含所需顺序的元素。但是如果你的所有元素都有一个共同的类,比如说“.foo_bar”,那么给定一个被点击的元素可能会更容易知道id。

否则,当你在函数上使用它时,如果这是你的“drags”之一,那么从中选择id可能比尝试索引更容易。

尝试这样做,也许它会更好。

ids = {};
$("#dropzone>div").each(function(){
    ids[$(this).prop('id')] = $(this).prop('id').replace(/[^0-9]/g, '');
});

代码.replace()意味着我们从字符串中删除字符(在这种情况下,不是数字的任何东西),所以我们最终得到它的真实数字。而不是它在DOM中的位置。

如果我不能很好地理解你的问题,请纠正我的理解错误,我会编辑答案。并且区域的html会很好;)

答案 1 :(得分:0)

在玩完之后我想出了以下内容:

public void onBackPressed() {
        moveTaskToBack(true);
        //super.onBackPressed();
    }

现在说未定义,但我确实设法将它放在保存按钮上,这样当我打开页面时它就不会弹出。

有什么建议吗?

答案 2 :(得分:0)

以下代码对我有用:

alert( div.innerHTML )

并在我添加的按钮上:

data

结果从我的html页面给了我所有的div信息,所以我可以选择我想要推送到数据库的信息。

谢谢大家的意见和建议。

马修