Üdv,
Vagy egy Drupal Commerce kosásba űrlapom, és ehhez tartozik pár szín variáció (pl. piros, zöld, kék, stb...). A Drupal a színek közti váltogatást a beépített AJAX-ával oldja meg.
A problémám a következő: Ha síma jQuery betöltést végzek, akkor az AJAX-os téren az első betöltésnél működik a szkript, míg ha átváltok másik színre, na akkor arra már nem töltődik rá a szkript.
Kerestem kutattam, az alábbi megoldást találtam:
(function ($) { Drupal.behaviors.colorChangeInPicture = { attach: function (context, settings) { // Szin valtoztatasa a kepen is $("input[name='line_item_fields[field_1st_color][und]']").change(function (data) { // Ez a resz valami oknal fogva ketszer fut le! // Akar hogy is csinalom :-( }); } }; })(jQuery)
Ez már így jó is, működik akkor is, ha a színeket változtatom (vagyis használom a beépített AJAX-ot).
Mi a probléma? A "change" rész amint színt változtatok, és lefut rajta az AJAX, több mint kétszer fut le. Ennek mi lehet az oka?
Drupal verzió:
Fórum:
Kódot kérünk a zavaros magyarázat helyett
"Ha síma jQuery betöltést végzek, akkor az AJAX-os téren az első betöltésnél működik a szkript, míg ha átváltok másik színre, na akkor arra már nem töltődik rá a szkript."
https://www.drupal.org/node/756722
Ha az itt leírtak szerint használod a jQuery-t akkor nem értem a kérdést.
Ha nem úgy használod, akkor meg nem akarom. :) vagyis használd úgy ahogy itt le van írva.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
A megoldás
A megoldás végül az "once" lett:
A megoldásért sok-sok köszönet, pp-nek :-)
https://www.drupal.org/node/171213