Datepicker with array

Asked

Viewed 107 times

1

I’m trying to use a datePicker with array input, as there are 5 validity fields, which I will insert with PHP in an Oracle database. Using the option class the datePicker is called, but it only saves the value in the first input. By clicking on the following it changes in the first, always. Any hint?

Datepicker:

$(function() {
    $(".validade_treinamento").datepicker({
        minDate: 0, //NÃO PERMITIR DATA MENOR QUE A ATUAL
        dateFormat: 'dd/mm/yy',
        dayNames: ['Domingo','Segunda','Terça','Quarta','Quinta','Sexta','Sábado','Domingo'],
        dayNamesMin: ['D','S','T','Q','Q','S','S','D'],
        dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sáb','Dom'],
        monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
        monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez']
    });
});

Call in inputs:

<input type = "text" id="validade_treinamento[]" name = "validade_treinamento[]"  class="validade_treinamento" placeholder="Clique Aqui" size = 10 maxlength = 10 disabled>

Example

inserir a descrição da imagem aqui

  • 1

    I didn’t understand that: id="validade_treinamento[]"... since an id should be unique on the page, I see no point in using as an array.

  • @dvd I have 5 equal fields, which I need to treat in PHP as an array for future insertion.

  • Yes, the array should only be used in name.

  • You’re right, I changed your answer and it worked. Thank you very much!

1 answer

1


The problem is right there: use the same id in each input. This causes Datepicker to act only on the first id to find, since a id should be unique on the page. Also because it makes no sense to use array in id, if what really matters is name for sending the data.

The solution is to assign a id proper to each input. Behold:

$(function() {
    $(".validade_treinamento").datepicker({
        minDate: 0, //NÃO PERMITIR DATA MENOR QUE A ATUAL
        dateFormat: 'dd/mm/yy',
        dayNames: ['Domingo','Segunda','Terça','Quarta','Quinta','Sexta','Sábado','Domingo'],
        dayNamesMin: ['D','S','T','Q','Q','S','S','D'],
        dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sáb','Dom'],
        monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
        monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez']
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>

<input type = "text" id="validade_treinamento1" name = "validade_treinamento[]"  class="validade_treinamento" placeholder="Clique Aqui" size = 10 maxlength = 10 >
<br>
<input type = "text" id="validade_treinamento2" name = "validade_treinamento[]"  class="validade_treinamento" placeholder="Clique Aqui" size = 10 maxlength = 10 >
<br>
<input type = "text" id="validade_treinamento3" name = "validade_treinamento[]"  class="validade_treinamento" placeholder="Clique Aqui" size = 10 maxlength = 10 >

Browser other questions tagged

You are not signed in. Login or sign up in order to post.