Как отключить Datepicker, когда поле ввода только для чтения - PullRequest
0 голосов
/ 20 мая 2019

Как отключить средство выбора даты, когда поле ввода доступно только для чтения? Вот мое текстовое поле

<input type="text" name="letter_date" value="12/05/2019"  id="letter_date" class="form-control datepicker" placeholder="Masukkan Tanggal Nota" data-toggle="datepicker" readonly="readonly" />

и я попытался использовать этот код javascript, но когда я выбираю текстовое поле, он все еще показывает средство выбора даты.

$('[data-toggle="datepicker"]').datepicker({
    beforeShow: function(i) {
      if ($(this).prop('readonly')) {
        e.preventDefault();
        e.stopImmediatePropagation();
        return false;
        }
    },
    format : 'dd/mm/yyyy',
    autoHide : true
});

Ответы [ 2 ]

1 голос
/ 20 мая 2019

Вы можете отключить datepicker с помощью datepicker("option", "disabled", true);.

$('[data-toggle="datepicker"]').datepicker({
    beforeShow: function(i) {
        if ($(this).prop('readonly')) {
          console.log('readonly is true');
          $(this).datepicker("option", "disabled", true);
          return;
        }
    },
    format : 'dd/mm/yyyy',
    autoHide : true,
});
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<input type="text" name="letter_date" value="12/05/2019"  
    id="letter_date" class="form-control datepicker" placeholder="Masukkan Tanggal Nota" 
    data-toggle="datepicker" readonly="readonly"/>

- Правка -

Для multiple входов

$('[data-toggle="datepicker"]').datepicker({
    beforeShow: function(i) {
        if ($(this).prop('readonly')) {
          $(this).datepicker("option", "disabled", true);
          return;
        } 
    },
    format : 'dd/mm/yyyy',
    autoHide : true,
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/>
<input type="text" name="letter_date" value="12/05/2019"  
    id="letter_date" class="form-control datepicker" placeholder="Masukkan Tanggal Nota" 
    data-toggle="datepicker" readonly/>

<input type="text" name="letter_date" value="12/05/2019"  
id="letter_date1" class="form-control datepicker" placeholder="Masukkan Tanggal Nota" 
data-toggle="datepicker"/>

<input type="text" name="letter_date" value="12/05/2019"  
id="letter_date2" class="form-control datepicker" placeholder="Masukkan Tanggal Nota" 
data-toggle="datepicker" readonly/>
0 голосов
/ 20 мая 2019

Попробуйте ниже код:

$('[data-toggle="datepicker"]').datepicker({
    beforeShow: function(i) {
      if ($(this).prop('readonly')) {
        e.preventDefault();
        e.stopImmediatePropagation();
        return false;
        }
    },
    format : 'dd/mm/yyyy',
    autoHide : true,
    disabled: true
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...