jQuery('ol.productList li.product input[name*="cart.pAsin."]').load().each(function(){ // each function
var asinId = jQuery(this).val();
var pUrl = jQuery(this).siblings("a").attr('href');
var imgPath = jQuery(this).siblings("a").children('img').attr('src');
var productTitle = jQuery(this).siblings("div.productDetails").children('h4.title').text();
var descUrl = '/api/product/asin/' + asinId;
var productDesc = '';
jQuery.getJSON(descUrl, function(data) {
var attr = data.attributes[1];
productDesc = attr.productDescription;
var allinfo = [];
allinfo.push(asinId,productTitle,productDesc,pUrl,imgPath);
alert(allinfo[0]);
});
});
alert('Asin id :'+ asinId + ' Product Url : '+ pUrl + ' Image Path : ' +imgPath + ' Product Titl : '+productTitle+ ' Product Discription : ' +productDesc);
Antwort
Sie nicht asinId
zugreifen können, pUrl
, usw., wie sie im Rahmen der anonymen Funktion definiert werden Sie each()
Methode übergeben.
Um noch verwirrender Erschwerend kommt, könnte der productDesc
nicht auch der Wert sein, die Sie suchen, auch wenn Sie es innerhalb dieser Anon function
als getJSON
arbeitet unter AJAX
zuzugreifen versuchen, und ist asynchron, was bedeutet, den Wert productDesc
nach .getJSON
Anruf kann nicht garantiert werden zugewiesen nach .getJSON
Handler beendet.
Sie könnten definieren asinId etc aus dem each()
Methode und dann wird es außerhalb der Anon Funktionsumfang zur Verfügung:
var asinId = jQuery(this).val();
var pUrl = jQuery(this).siblings("a").attr('href');
var imgPath = jQuery(this).siblings("a").children('img').attr('src');
var productTitle = jQuery(this).siblings("div.productDetails").children('h4.title').text();
var descUrl = '/api/product/asin/' + asinId;
var productDesc = '';
jQuery('ol.productList li.product input[name*="cart.pAsin."]').load().each(function(){ // each function
asinId = jQuery(this).val(); // notice this is without var keyword
// rest of your code
});
alert('Asin id :'+ asinId + ' Product Url : '+ pUrl + ' Image Path : ' +imgPath + ' Product Titl : '+productTitle+ ' Product Discription : ' +productDesc);
einfach definieren sie nicht in den Anwendungsbereich des jeweiligen() 's anonyme Funktion wie this:
var asinId = null;
var pUrl = null;
...
jQuery('ol.productList li.product input[name*="cart.pAsin."]').load().each(function(){ // each function
asinId = jQuery(this).val();
pUrl = jQuery(this).siblings("a").attr('href');
...
Sie können jetzt von außen auf sie zugreifen, da sie jetzt zum globalen Bereich gehören.
- 1. jQuery .addClass (Dynamic) verwenden außerhalb .each() Funktion
- 2. JQuery - Abbrechen jeder Funktion
- 3. verwenden verstecken/zeigen in jquery jeder
- 4. Eine Funktion außerhalb jeder Methode aufrufen, aber innerhalb einer Klasse?
- 5. Variablenwerte
- 6. JQuery jede Funktion nicht Last von „jeder“
- 7. jquery selector looping vs using-Funktion jeder
- 8. Variabler Bereich außerhalb der jQuery-Funktion
- 9. jQuery Globaler Variablenwert außerhalb der Funktion
- 10. Variablenwerte in Unterklassen ändern?
- 11. $ rootScope. $ On Ereignis-Listener-Funktion ändert keine Variablenwerte
- 12. Wie Parameter oder Variablenwerte als Knotenname verwenden?
- 13. Verwenden eines jQuery-Klons außerhalb des DOM
- 14. Wie bekomme ich Variablenwert außerhalb einer Funktion IN jquery
- 15. Versprechen nach jQuery jeder
- 16. jQuery Anruf außerhalb Namensraum
- 17. Wie kann ich Variablen außerhalb dieser Funktion in AngularJS verwenden?
- 18. Verwenden der Jquery Position Funktion
- 19. JQuery jeder Funktionsindex
- 20. jquery .find ('input'). Jeder
- 21. Format Nummer mit Kommas in. Jeder Funktion
- 22. jQuery Unterschied in der Leistung ohne „jeder“
- 23. jquery - Aktualisiere eine Variable außerhalb einer animierten Funktion, dynamisch
- 24. Callback-Funktion funktioniert nicht, wenn getJSON-Funktion in jQuery verwenden
- 25. JQuery .each() - Callback-Funktion läuft nicht bei jeder Iteration/Schleife
- 26. Anrufereignis außerhalb der Funktion
- 27. Rückgabewert außerhalb der Funktion
- 28. Verwenden von Variablen innerhalb jeder Funktion zu sort_by
- 29. Javascript: Mit dem Schalter Variablenwerte für die Funktion setzen
- 30. SSIS Skripttask Fehler Variablenwerte