2012-01-16 34 views
2

我的问题是类似下面的链接JQuery的可弃,当列表项被删除,无法获得使用“id”属性ATTR()

How to get the dropped item's id on drop event jquery

但是我拖放一个列表项,每个都包含图像。

当列表项被删除时,我需要'id'属性,然后将'submit'传递给php,以更新数据库。

但下面的代码似乎并没有被捕捉“id”属性,或者如果我尝试“src”中,我已经修改了以下

$("#drop").text(id); to $("#drop").text("image has been dropped"); 

其正确会显示,“形象已经下降”在drop事件之后,所以问题似乎是在列表项中获取'id'属性?我尝试添加一个名为'image'的类来代替列表项,尝试了很多东西,但没有任何区别!

希望有人能指点我正确的方向!

感谢

下面

是我的代码

JQuery的

$(文件)。就绪(函数(){

$("#item-slider li").draggable({ 
     containment: 'document', 
     revert: true, 
     helper: "clone", 
     cursor: "move" 
    }); 


    $("#drop").droppable({ 
     accept: "#item-slider li", 
     drop: function (event, ui){ 
      var draggable = ui.draggable; 
      var id = draggable.attr("id"); 
      $("#drop").text(id); 
     } 
    }); 

}); 

的Html

<div id="item-slider"> 
<ul> 
    <li class='image'><img src="./images/jeans1.jpeg" id="jeans1.jpeg" /></li> 
    <li class='image'><img src="./images/top2.jpg" id="top2.jpg" /></li> 
    <li class='image'><img src="./images/top1.jpg" id="top1.jpg" /></li> 
    <li class='image'><img src="./images/shoes3.jpg" id="shoes3.jpg" /></li> 
    <li class='image'><img src="./images/dress1.jpg" id="dress1.jpg" /></li> 
</ul> 

<div id="drop"> 
</div> 
</div> 

回答

2

的您正在寻找的属性不属于您的<div>元素,而是属于<img>子元素。你可以用find()children()匹配这些元素:

drop: function(event, ui) { 
    var id = ui.draggable.find("img").attr("id"); 
    $("#drop").text(id); 
} 
+0

感谢弗雷德里克用于解释!我需要变量,所以我修改了你的代码,以防其他人需要它!这很好! var id =(ui.draggable).find(“img”)。attr(“id”); – Alan 2012-01-16 19:23:25

+0

这对我很有用,谢谢! – CommentLuv 2012-02-25 15:49:10