mmm interessante il pm...
Ho provato a fare semplicemente questo:
codice:
<!doctype html>
<html>
<head>
<title>Prova Zebra DatePicker</title>
<link rel="stylesheet" type="text/css" href="public/css/metallic.css">
<script src='http://code.jquery.com/jquery-1.9.1.js'></script>
<script src='public/javascript/zebra_datepicker.src.js'></script>
<script>
$(function(){
$('#checkin').Zebra_DatePicker();
$('#checkout').Zebra_DatePicker({
onSelect: function(a,b,c,d){
$("#t3").focus();
}
});
});
</script>
</head>
<body>
<form>
<input type='text' id='checkin' />
<input type='text' id='checkout' />
<input type='text' id='t3' value='default' />
</form>
</body>
</html>
Il risultato purtroppo è che il focus viene, a seguito dell'evento onSelect, impostato sul campo che subisce l'evento(cioè quello con id 'checkout').
Dunque sono andato alla sorgente del male, cioè il file:
public/javascript/zebra_datepicker.js
Ecco la spina nel fianco:
Ho commentato questo comando facendolo diventare così:
Se per caso avessi incluso il sorgente in forma non minified il file da modificare sarebbe:
public/javascript/zebra_datepicker.src.js
Qui la riga da commentare è la 2442 contenente:
codice:
$element.focus();
Falla diventare:
codice:
//$element.focus();
Se non fosse la linea 2442 e se avessi difficoltà a trovare la parte da commentare considera che in entrambe i file (minified e non) l'unica occorrenza di 'focus()' è quella che ti causa il problema quindi cerca 'focus()' con la funzione cerca dell'editor di testo e commenta come spiegato sopra.
Ora il .focus() nell'onSelect viene correttamente impostato sul terzo campo.