我在 draggable()
div 中有一个表单。表单看起来就像这样:
<form id="add_interface" name="add_interface">
USB Type:
<select name="type-id">
<option value="68">Micro-A</option>
</select>
Use:
<select name="use-id">
<option value="13">Audio </option>
</select>
</form>
当将其“拖放到”droppable()
div 中时,我最终会遇到以下错误:
XML filter is applied to non-XML value ({0:#1={}, length:1, context:#1#})
可放置的 jQuery 如下所示:
$("#droppable").droppable({
drop: function(event, ui) {
$(this).effect('highlight');
alert(ui.draggable.("#add_interface").serialize());
}
});
我假设我没有正确访问表单,但是如果我尝试简单地执行ui.draggable.serialize()
,我最终会得到一个空字符串。只是想知道我实际上如何在放置的正确可拖动 div 中序列化表单。
谢谢!
最佳答案
你们已经快到了,但我必须到处挖掘并尝试一切才能最终弄清楚:
$(function(){
$('.ui-widget-header').draggable({cursor: 'move', revert: true});
$("#droppable").droppable({
drop: function(event, ui) {
$(this).effect('highlight');
alert($(ui.draggable.find('#add_interface')).serialize());
}
});
});
因此,处理 ui 参数的方式如下所示: $(ui.draggable.find('#add_interface'))
然后您可以 serialize()
那,否则我只是收到 [object Object] 警报,而不是序列化形式
关于jQuery:获取要从匿名函数参数序列化的 <form> 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2031301/