Salut,
Vin si eu cu o mica problema de JS.
Se da urmatoarea metoda
accordionValidator : function(e){
e.preventDefault();
var $this = $(e.currentTarget);
var $wrap = $this.closest('.checkoutBoxWrapper');
var $field = $('[class^="input-"]', $wrap);
var isValid = $field.valid();
var goToNext = true;
// Send 'goToNext' as data parameter
// If it s false skip jumping on next accordion
// Default : true
if( !$.isEmptyObject(e.data) && typeof e.data.goToNext === 'boolean' ) {
goToNext = e.data.goToNext;
}
if( !isValid ) {
return false;
}
// looks for first heading after current opened box
var $next = $wrap.nextAll('legend').first();
// looks for first previous legend for current wrapper => current heading
var $current = $wrap.prevAll('legend').first();
$current.addClass('validated collapsible');
// re-init accordiont
if( goToNext ){
$next.addClass('collapsible').trigger('click');
}
// callback
$cache.checkoutForm.trigger('accordionValidated', [{ nextEl : $next, currentEl : $current}]);
},
metoda care este apelata pe event-urile “on” in felul urmator
$cache.shippingAddressList.on('change', { goToNext : false }, opc.checkout.accordionValidator);
Pana aici totul este ok, in e.data.goToNext primsc valoarea dorita iar codul functioneaza cum trebuie.
Problema apare cand am nevoie sa apelez functia nativ, nu in interiorul lui .on()
, adica
opc.checkout.accordionValidator(e, false);
(unde false ar trebui sa fie valoarea lui goToNext)
Cum as putea face update la codul respectiv astfel incat sa poata primi parametru si prin event.data
cat si nativ, prin arguments
Multumesc