8

Ho uno script datepicker jQuery:jQuery Datepicker per ingressi multipli

  $(function() { 
       $("#datepicker").datepicker({ dateFormat: "yyyy-mm-dd" }); 
      }); 

Quando voglio inizializzare questo script per due ingressi, funziona solo per il primo. Come si usa per entrambi gli input?

<input type="text" name="MyDate1" id="datepicker"> 
<input type="text" name="MyDate2" id="datepicker"> 
+0

avere una classe a tutti i input che richiedono un Datepicker – Dhiraj

+0

$ ('. your-class'). datepicker ({dateFormat: "yyyy-mm-dd"}); – Dhiraj

+0

in primo luogo, non puoi avere più di un id – Joseph

risposta

18

basta cambiare tutto id-class.

<input type="text" name="MyDate1" class="datepicker"> 
<input type="text" name="MyDate2" class="datepicker"> 

$(function() { 
    $(".datepicker").datepicker({ dateFormat: "yyyy-mm-dd" }); 
}); 

possono anche utilizzare

$(function() { 
    $("input[name^=MyDate]").datepicker({ dateFormat: "yyyy-mm-dd" }); 
}); 
+0

Ho letto diversi thread su questo che suggerivano modi super complicati per raggiungere questo obiettivo - il tuo mi ha portato a circa 0,5 secondi e ha funzionato come un incantesimo. Grazie! –

+1

'dateFormat:" yyyy-mm-dd "' visualizzerà: 'YYYYYYYY-MM-DD' rimuove l'opzione' yy' per visualizzare il formato corretto. Aggiornamento a: 'dateFormat:" aa-mm-gg "' – Staccato

3

Non è valida per avere gli ID duplicati. Si dovrebbe aggiungere una classe, invece:

<input type="text" name="MyDate1" class="datepicker" id="datepicker1"> 
<input type="text" name="MyDate2" class="datepicker" id="datepicker2"> 

allora si può fare:

 $(function() { 
      $(".datepicker").datepicker({ dateFormat: "yyyy-mm-dd" }); 
     }); 
5

Stanco di ripetere questo, ma ancora, ripeto ancora una volta. id s devono essere unici. Quindi, utilizzare questo:

<input type="text" name="MyDate1" class="datepicker"> 
<input type="text" name="MyDate2" class="datepicker"> 

con

$(function() { 
    $(".datepicker").datepicker({ dateFormat: "yyyy-mm-dd" }); 
}); 
2

funzione datepicker Accesso per nome:

$(function() { 
     $('[name="MyDate1"]').datepicker({ dateFormat: "yyyy-mm-dd" }); 
     }); 
0

Si potrebbe anche aggiungere classi al volo se i campi di input sono generati in modo dinamico, come ad esempio nei modelli di Django.

<input type="text" name="MyDate1" id="datepicker1"> 
<input type="text" name="MyDate2" id="datepicker2"> 

Get campi di input usando #id e aggiungere una classe

$(function() { 
    $("#datepicker1, #datepicker2").addClass('datepicker'); 
    $(".datepicker").datepicker({ dateFormat: "yy-mm-dd" }); 
}); 
-1
<script> 
    $(document).ready(function() { 
    $("#datepicker").datepicker(); 
    }); 
    $(document).ready(function() { 
    $("#datepicker2").datepicker(); 
    }); 
    $(document).ready(function() { 
    $("#datepicker3").datepicker(); 
    }); 
    </script> 

E basta dare le forme gli ID: DatePicker DATEPICKER2 datepicker3

+0

Non c'è bisogno di più funzioni * ready *. – kursus