我在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#})
droppable的jQuery看起来像这样:
$("#droppable").droppable({
drop: function(event, ui) {
$(this).effect('highlight');
alert(ui.draggable.("#add_interface").serialize());
}
});
我假设我没有正确访问表单,但是如果我尝试简单地执行ui.draggable.serialize()
我最终会得到一个空字符串。只是想知道我是如何在正确的可拖动div中序列化表单的。
谢谢!
答案 0 :(得分:2)
你们几乎都在那里,但我不得不全力以赴地尝试一切,最终弄明白:
$(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]而不是序列化形式
答案 1 :(得分:1)
我不确定你是否只是在你的代码中输入了一个拼写错误,或者你是否在源代码中得到了它 ,但我想:
ui.draggable.("#add_interface").serialize()
应该是:
ui.draggable("#add_interface").serialize()