Textarea defaultValute – Javascript string replace – uidatepicker onClose
Pisal sem že, da sem uporabil jQuery UI Datepicker za prikaz koledarčka. Sedaj je bilo potrebno še dodati funkcijo, ki se izvede ko uporabnik zaključi z izbiro datuma. Poklicana funkcija spremeni tekst iz textarea elementa tako, da poišče prejšnji datum in ga nadomesti s trenutno izbranim datumom.
Najprej definirajmo funkcijo, ki se bo klicala na onClose dogodek pri datePicker komponenti:
-
jQuery(function($){
-
$("#date").datepicker({
-
dateFormat: 'dd.mm.yy',
-
onClose: replaceDate
-
});
-
-
$("#date").datepicker();
-
});
V Javascript funkciji replaceDate nato dobimo novi datum (polje date), preberemo vsebino textarea HTML elementa, nato pa stari datum nadomestimo z novim. Trik tukaj je, da beremo defaultValue vrednost od textarea, ki hrani prvotno nastavljeno vsebino, kar pomeni, da lahko uporabnik večkrat spremeni datum in se bo datum vsakič pravilno nadomestil (replace), saj vedno preberemo prvotno (staro) vsebino, kjer je prisoten star datum katerega vrednost poznamo in ga zato lahko zamenajmo.
-
function replaceDate() {
-
var text = document.getElementById('text').defaultValue;
-
var newDate = document.getElementById('date').value;
-
var oldDate = '20.06.1987';
-
-
document.getElementById('text').value = text.replace(oldDate, newDate);
-
}
... namesto, da v funkciji beremo vrednost polja bi lahko generirali anonimno funkcijo, ki bi parameter date funkciji že podala:
-
onClose: function(date) { replaceDate(date); }
Oglejte si kako deluje testni primerek.
Dodatne informacije:
- jQuery UI Datepicker
- Metode ter vrednosti HTML Textarea elementa
- Javascript string replace - regex - normalni način
Podobni članki:
- Javascript koledar – izbira datuma – jQuery date picker
- Javascript search in replace string funkcije
- Javascript – delci uporabne kode
- Operacije nad seznami – Javascript DOM – HTML select – HTML option
- PHP funkcije v Javascript jeziku – isset
- Javascript – scrolling – jQuery.scrollTo – jQuery.SerialScroll
- Spreminanje input type text v input type password – Javascript
- Javascript – avtomatsko osveževanje strani – refresh page – reload page
- Javascript – print – tiskanje – document – onload
- Javascript – fade efekt – jQuery – fadeIn – fadeOut – setTimeout – removeChild



April 17th, 2008 ob 1:01 pm
Upam, da je dovolj nazorno pokazano kaj je finta tukaj ... (pri nadomestitvi).