Selected Datepickter datum doorsturen
Heb je mijn stukje code al uitgeprobeerd? Dat is m.i. de meest simpele oplossing.
Zoals al aangegeven, in het onSelect event triggert dit:
geen "change" op het input veld.
Dus doe je dit handmatig:
Maar zoals Ger aangeeft, er kunnen nog wel wat meer plooien uitgestreken worden.
Ik snap wel dat je naar iets werkends toe wilt, maar daarbij moet je je architectuur niet uit het oog verliezen.
Overigens:het feit dat de event niet getriggerd wordt ligt 100% aan het gebruik van die onSelect. Als je je datepicker direct aan je inputveld had gekoppeld, had je dit hele probleem niet gehad (EDIT: dit bewijst mijn eerder geplaatste variant - deze werkt "out of the box").
geen "change" op het input veld.
Dus doe je dit handmatig:
Maar zoals Ger aangeeft, er kunnen nog wel wat meer plooien uitgestreken worden.
Ik snap wel dat je naar iets werkends toe wilt, maar daarbij moet je je architectuur niet uit het oog verliezen.
Overigens:
Gewijzigd op 02/05/2015 21:33:05 door Thomas van den Heuvel
Hallo guys,
@Ger, ik heb jouw stukje code geprobeerd maar er gebeurd niets.
De berekentotaal() staat in het formulier.php script
en de Datepicker onSelect: staat in javascript.js
Als ik jou stukje code dus in javscript.js zet gebeurd er niets.
Ik ben niet optimaal kennisrijk met jquery daarom kom ik er ook niet meer uit.
@Thomas ik begrijp jouw regeletje code (handmatig) wel, maar waar zet ik deze dan neer?
Ik mis namelijk de aanroep van de berekentotaal() functie.
Ik heb de Datepicker gekoppeld aan een div omdat ik hem mooi heb opgemaak en niet met het Calender icoontje wil werken. Dat schilt namelijk weer een extra klik voor de gebruiker...
@Ger, ik heb jouw stukje code geprobeerd maar er gebeurd niets.
De berekentotaal() staat in het formulier.php script
en de Datepicker onSelect: staat in javascript.js
Als ik jou stukje code dus in javscript.js zet gebeurd er niets.
Ik ben niet optimaal kennisrijk met jquery daarom kom ik er ook niet meer uit.
@Thomas ik begrijp jouw regeletje code (handmatig) wel, maar waar zet ik deze dan neer?
Ik mis namelijk de aanroep van de berekentotaal() functie.
Ik heb de Datepicker gekoppeld aan een div omdat ik hem mooi heb opgemaak en niet met het Calender icoontje wil werken. Dat schilt namelijk weer een extra klik voor de gebruiker...
Gewijzigd op 02/05/2015 21:36:39 door Johnny Cash
In je onSelect? ...
De aanroep van de berekentotaal() functie wordt getriggerd als je dateselect verandert.
Dit staat al in je code:
Het probleem was wat je zelf omschreef: deze werd niet getriggerd, dit doe je nu handmatig in je onSelect...
Verander:
naar:
En gooi die savedatum er gewoon uit ofzo, ik snap nog steeds niet waar je die voor gebruikt.
De aanroep van de berekentotaal() functie wordt getriggerd als je dateselect verandert.
Dit staat al in je code:
Code (php)
1
$('#processform input[type="hidden"].selecteddate').change(function(){berekentotaal();});
Het probleem was wat je zelf omschreef: deze werd niet getriggerd, dit doe je nu handmatig in je onSelect...
Verander:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
onSelect: function(dateText, inst) {
$("input[name='eventdate']").val(dateText);
$("#alternatedate").fadeIn();
$.post( "/savedatum.php", { selecteddate:dateText } );
}
$("input[name='eventdate']").val(dateText);
$("#alternatedate").fadeIn();
$.post( "/savedatum.php", { selecteddate:dateText } );
}
naar:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
onSelect: function(dateText, inst) {
$("input[name='eventdate']").val(dateText).trigger('change'); // <-- DIT TRIGGERT JE CHANGE EVENT, EN DAARMEE berekentotaal()
$("#alternatedate").fadeIn();
$.post( "/savedatum.php", { selecteddate:dateText } );
}
$("input[name='eventdate']").val(dateText).trigger('change'); // <-- DIT TRIGGERT JE CHANGE EVENT, EN DAARMEE berekentotaal()
$("#alternatedate").fadeIn();
$.post( "/savedatum.php", { selecteddate:dateText } );
}
En gooi die savedatum er gewoon uit ofzo, ik snap nog steeds niet waar je die voor gebruikt.
@Thomas, ik ga even het één en ander nu aanpassen.
Als de trigger nu goed gaat werken kan die savedatum er inderdaad uit omdat de datum dan al via de trigger kan worden opgeslagen.
Ik laat van me horen.
Als de trigger nu goed gaat werken kan die savedatum er inderdaad uit omdat de datum dan al via de trigger kan worden opgeslagen.
Ik laat van me horen.
Gewijzigd op 02/05/2015 21:44:13 door Johnny Cash
Sorry hoor, maar ik vind dit omslachtig gedoe:
Hiermee hang je één enkele functie aan een eventListener, daarna ga je die event afvuren.
Waarom niet in één keer die functie aanroepen?
Hiermee hang je één enkele functie aan een eventListener, daarna ga je die event afvuren.
Waarom niet in één keer die functie aanroepen?
@ger, ik heb jouw stukje code geprobeerd omdat je zei dat het bovenstaande omslachtig is, maar daarmee werkt het niet zoals ik wil. Was het wel duidelijk uit mijn post op te maken dat de javascript.js (waarin de onSelect staat) niet in hetzelfde bestand staat als de berekentotaal() functie?
@thomas, door het stukje trigger('change'); achter de .val(dateText) te zetten krijg ik EINDELIJK dat werkend waar ik al zolang mee bezig ben.
eerlijk is eerlijk - thomas, kun je mij een priveberichtje sturen. Ik wil mijn belofte nakomen.
@thomas, door het stukje trigger('change'); achter de .val(dateText) te zetten krijg ik EINDELIJK dat werkend waar ik al zolang mee bezig ben.
eerlijk is eerlijk - thomas, kun je mij een priveberichtje sturen. Ik wil mijn belofte nakomen.




