0

所以我有下面的代码。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('');它就可以了!!!!

4

2 回答 2

0

我认为,问题在于您在 ajax 请求中使用了“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);
             }
             );
        }
于 2012-09-17T10:31:03.140 回答
0

我在 1 秒后立即延迟stop: function(event, ui) {,这似乎对其进行了排序

于 2012-09-17T15:06:31.663 回答