0

我使用 jQuery UI 拖放功能来选择相册中的图像。在 rel 参数中存储的图像 ID,我需要在图像删除后复制到输入元素。

这是图像列表。使用可拖动

<img src="01.jpg" title="image 01" rel="10" />
<img src="02.jpg" title="image 02" rel="11" />
<img src="03.jpg" title="image 03" rel="12" />

放在这里:

<div id="dropzone">
    <div id="imgcontainer"></div>
    <input type="text" name="img_id" id="img_id" />
</div>

可放置的 JS 代码在这里:

$('#dropzone').droppable({
    hoverClass: 'bgSelected',
    drop: function(event, ui) {
        $(this).html(''); // to remove any other stuffs
        var img = ui.draggable;
        $('<img src="'+img.prop('src')+'" title="'+img.prop('title')+'">').appendTo( $(this) );
        $('<input type="text" name="img_id" id="img_id" value="'+img.prop('rel')+'" />').appendTo( $(this) );
    },
});

并且 img.prop('rel') 返回空字符串。我尝试使用 img.attr('rel'),但它返回一个对象元素。如何获得“rel”值?

4

3 回答 3

2

你可以使用attrinsted of prop。喜欢 ..

$(function() {
  $('#dropzone').droppable({
    hoverClass: 'bgSelected',
    drop: function(event, ui) {
         var img = ui.draggable;
        //alert($(ui.draggable));
        var id =img.attr('rel');


    $(this).html(''); // to remove any other stuffs

     $('<img src="'+img.prop('src')+'" title="'+img.prop('title')+'">').appendTo( $(this) );
      $('<input type="text" name="img_id" id="img_id" value="'+id+'" />').appendTo( $(this) );
    },
  });

这是一个小提琴链接http://jsfiddle.net/fLJuB/19/

于 2012-09-21T07:03:50.210 回答
0

如果您使用 ui.draggable 在对象中获取其他属性,也许您可​​以使用一些 jquery 选择器。例如,如果img.prop('src')返回src属性权,您可以使用它来选择带有jquery属性选择器的图像

alert($('img[src="' + img.prop('src') + '"]').attr('rel'));

编辑:嗨,这很好用->链接

于 2012-09-21T07:21:26.560 回答
0
alert($("#img").attr("rel"));

如果你使用 .attr("rel")。文本()它不会工作。

于 2012-09-21T07:03:30.047 回答