我使用jQuery UI拖放功能来选择图像专辑。图像ID在rel参数中存在,我需要在图像丢弃后复制到输入元素。
这是图像列表。使用可拖动的
<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”值?
答案 0 :(得分:2)
您可以使用attr
代替道具。
喜欢..
$(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/
答案 1 :(得分:0)
alert($("#img").attr("rel"));
如果你使用.attr(“rel”)。 text()它将不起作用。
答案 2 :(得分:0)
如果使用ui.draggable获取对象中的其他属性,也许可以使用一些jquery选择器。例如,如果img.prop('src')
向右返回src属性,则可以使用它来选择带有jquery属性选择器的图像
alert($('img[src="' + img.prop('src') + '"]').attr('rel'));
编辑:嗨,认为这很好用 - &gt; link