2015-04-08 2 views
1

Я использую datepicker. Поскольку иногда я хотел бы показать некоторый текст, а не дату, которую я выбираю из datepicker, кто-то знает, есть ли способ сделать это? Большое спасибо !jquery datepicker показать текст, отличный от value

Например: Если 2015/01/01 - это праздник, и я выбираю эту дату, я хотел бы показать название праздника над элементом ввода, а не с 2015/01/01. Когда я отправлю, значение (2015/01/01) все равно будет передано на сервер.

Я искал в Google, но пока не нашел хорошего решения.

+0

Вам нужно будет написать что-то, чтобы сделать это, так как у datepicker нет такой опции. Вы еще что-нибудь пробовали (кроме Google)? – j08691

ответ

1

Вы можете сохранить выбранную дату в другом поле и использовать событие onSelect, чтобы проверить и перезаписать выбранное значение.

$("#datepicker").datepicker({ 
 
    altField: "#actualDate", 
 
    onSelect: function(dateText, inst) { 
 
     if (dateText.substring(0, 5) == "04/01") { 
 
      inst.input.val("april fools!"); 
 
     } 
 
    } 
 
});
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/themes/smoothness/jquery-ui.css"> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js"></script> 
 

 
<input id="datepicker" type="text"> 
 
<br> 
 
<input id="actualDate" type="text">

0

Чистейший будет полностью реализовать свой собственный элемент выбора даты.

Далее следует взломать дату, например.

var that = this; 
this.$input.datepicker({ 
    onSelect: function() { 
     // get value, e.g. "2015-10-14" 
     // check if that date is mapped to any holiday 
     that.$input.val("St. Patrick Day 2015"); 
    }, 
}); 

Кроме того, когда вы получите это. $ Input.val(), чтобы использовать его, придется вручную переводить «День Святого Патрика 2015» обратно в «2015-10-14».

Kinda ugly vs build your own.

Смежные вопросы