/ / Hodnota sa nastaví iba pri použití upozornenia () - jquery-ui, jquery-post, jquery

Hodnota sa nastavuje len pri použití upozornení () - jquery-ui, jquery-post, jquery

Mám teda kód uvedený nižšie. Holder1 / Holder2 sú práve tu, aby zistili, či nastavenie hodnôt na premennú funguje

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);
}
);
}

Hodnota prvku iframe sa však nezverejní. Avšak namiesto použitia držiteľa1 / držiteľa2, ak by som namiesto toho použil nasledujúce, funguje to všetko

alert("Widget iFrame: "+$("div#"+this+" div.widgetcontent iframe").attr("src"));
alert("Report URL: "+$("div#"+this+" div.widgetcontent iframe").contents().find("iframe").attr("src"));

Očividne nechcem upozorniť zakaždým, takže som premýšľal, čo sa stalo?

V podstate som implementoval palubnú dosku, kdeľudia môžu pridávať widgety a potom ich posúvať nahor alebo nadol. V predvolenom nastavení je jeden. Ak pridám ďalšiu (stane sa druhou) a potom ju posuniem na prvú pozíciu, získa prázdnu hodnotu. Ak to presuniem späť na sekundu, bude to fungovať.

[EDIT]

V skutočnosti, ak to len používam alert(""); potom to funguje dobre!

odpovede:

0 pre odpoveď č. 1

Myslím, že problém je v tom, že v žiadosti ajax použijete „toto“. skúste ju uložiť do premennej predtým a použiť ju

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);
}
);
}

0 pre odpoveď č. 2

Hneď potom som dal oneskorenie stop: function(event, ui) { na 1 sekundu, čo sa zdá, že je usporiadané