【发布时间】:2012-09-17 13:44:33
【问题描述】:
我有类似于
的小部件/portlet<div id="100" class="portlets">
<iframe src="widgets/widget1_iframe.html"></iframe>
</div>
每个 iFrame 中都有另一个 iFrame。我可以添加多个小部件/portlet 并对其进行排序。
我有一个脚本(对于每个更改)获取初始 iFrame 的 SRC(因此在本例中为 widgets/widget1_iframe.html)和 iFrame 中 iFrame 的 SRC(在我的测试版本,它会提醒用户)。
所以使用之前的示例,假设我添加了一个新的以具有类似的东西
<div id="200" class="portlets">
<iframe src="widgets/widget2_iframe.html"></iframe>
</div>
然后我决定将第二个移到第一个之上。我的脚本正确显示 widgets/widget2_iframe.html 但随后 iframe 中的 iframe 没有显示任何内容。然后它会正确显示 widgets/widget1_iframe.html 以及该 iframe 中的 iFrame。
我进行了检查,但小部件/portlet 中的 iFrame(在 iframe 内)对 DOM 不可用。
所以基本上,如果我有 100 个 portlet,我添加并移动了一个,它会向我显示除已移动的小部件/portlet 的 iframe 中的 iframe 之外的所有正确信息。下面是我的 sortable 函数的 stop 事件
stop: function (event, ui) {
var sortorder = '';
$('.' + opts.columnClass).each(function () {
var itemorder = $(this).sortable('toArray');
sortorder += itemorder.toString();
});
var substr = sortorder.split(',');
jQuery.each(substr, function () {
$.post("process.php", {
widget: $('div#' + this + ' div.widgetcontent iframe').attr("src"),
iframe: $('div#' + this + ' div.widgetcontent iframe').contents().find('iframe').attr("src")
}, function (data) {
alert("Data Loaded: " + data);
});
});
基本上 - 没有为已移动的小部件/portlet 传递 iFrame 的值
【问题讨论】:
标签: jquery jquery-ui jquery-ui-sortable