所以我有下面的代码。 Holder1 / Holder2就在那里,看看是否将值设置为变量
jQuery.each(substr, function() {
if ($('div#'+this+' div.widgetcontent iframe').attr("src")!=undefined) {
//alert('Widget iFrame: '+$('div#'+this+' div.widgetcontent iframe').attr("src"));
//alert('Report URL: '+$('div#'+this+' div.widgetcontent iframe').contents().find('iframe').attr("src"));
var holder1 = 'Widget iFrame: '+$('div#'+this+' div.widgetcontent iframe').attr("src");
var holder2 = 'Report URL: '+$('div#'+this+' div.widgetcontent iframe').contents().find('iframe').attr("src");
$.post("functions/process.asp",
{
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);
}
);
}
但是iframe值未发布。但是,如果我使用以下代码而不是使用holder1 / holder2,那么一切正常
alert('Widget iFrame: '+$('div#'+this+' div.widgetcontent iframe').attr("src"));
alert('Report URL: '+$('div#'+this+' div.widgetcontent iframe').contents().find('iframe').attr("src"));
显然我不希望每次都提醒它,所以想知道发生了什么事?
我基本上实现了一个仪表板,人们可以在其中添加小部件,然后上下移动它们。默认情况下有一个。如果我添加另一个(变成第二个)然后将其移动到第一个位置,它会给出一个空白值。如果我将它移回第二个,它就可以了。
[编辑]
事实上,如果我只使用alert('');
那么它就可以正常工作!!!
答案 0 :(得分:0)
我认为,问题是你在ajax-request中使用“this”。尝试将它保存到变量之前并使用它
jQuery.each(substr, function() {
var myobject=this;
if ($('div#'+myobject+' div.widgetcontent iframe').attr("src")!=undefined) {
var holder1 = 'Widget iFrame: '+$('div#'+myobject+' div.widgetcontent iframe').attr("src");
var holder2 = 'Report URL: '+$('div#'+myobject+' div.widgetcontent iframe').contents().find('iframe').attr("src");
$.post("functions/process.asp",
{
widget: $('div#'+myobject+' div.widgetcontent iframe').attr("src"),
iframe: $('div#'+myobject+' div.widgetcontent iframe').contents().find('iframe').attr("src")
}
, function(data) {
alert("Data Loaded: " + data);
}
);
}
答案 1 :(得分:0)
我在1秒的stop: function(event, ui) {
之后直接延迟,似乎将它排序