2013-08-28 4 views
1

Использование JQuery и ASP.Net C# 3.0.JQuery DatePicker Несколько ввода

У меня есть следующий скрипт:.

<script> 
    $(document).ready(function() { 
     $("[id$=txtHiddenDate]").datepicker({ 
      showOn: "button", 
      buttonImage: "../../images/calendar-icon.gif", 
      buttonImageOnly: true 
     }); 
    }); 
</script> 

Есть 3 отдельные поля для дня месяца и года (txtDay, txtMonth, txtYear) Как вернуть дату на эти 3 отдельных полей?

Большое спасибо!

EDIT: Кроме того, я хочу, чтобы держать скрытое поле как хорошо

+0

почему вы хотите, чтобы иметь скрытый элемент выбора даты? Просто используйте скрытое текстовое поле с датой или покажите выбор даты. –

ответ

1

HTML

Setups до других входов, чтобы держать части даты. Вы можете сделать это скрытым.

<input id="picker"/><br> 
Day: 
<input id="day"/><br> 
Month: 
<input id="month"/><br> 
Year: 
<input id="year"/> 

Javascript

Определяет onSelect функцию, которая анализирует различные части даты и назначает их на соответствующие входы.

$(document).ready(function() { 
     $("#picker").datepicker({ 
      showOn: "button", 
      buttonImage: "../../images/calendar-icon.gif", 
      buttonImageOnly: true, 
      onSelect: function(strDate){ 
      var tokens = strDate.split("/"); 
       $("#day").val(tokens[1]); 
       $("#month").val(tokens[0]); 
       $("#year").val(tokens[2]); 

      } 
     }); 
    }); 

JS Fiddle:http://jsfiddle.net/9Ww8g/

+0

Отличный ответ, я собирался начать использовать код за C# (да, я стараюсь не трогать JQuery, поскольку это не моя область) приятно и просто! – lemunk

0

Вы должны применять DatePicker на обычном текстовом поле. Вы не можете иметь его в скрытом поле или в трех разных полях.

Поскольку это текстовое поле, на стороне сервера (в коде), у вас будет только строка. Используйте [DateTime.Parse][1], [DateTime.TryParse][2], [DateTime.ParseExact][3] или для получения выбранной даты.

Если вы хотите работать с hiddenField и иметь его в определенном формате (так что вы можете разобрать зная формат), вы можете использовать altField и altFormat:

$("#myTextBox").datepicker({ 
    altField: "#myHiddenField", 
    altFormat: "yy-mm-dd" 
}); 

Если это скрытое поле ASP.NET , вы можете использовать следующий селектор:

altField: "input[id$=myHiddenField]" 

, потому что в вашем JavaScript, вы не можете знать фактический идентификатор ASP.NET будет генерировать (если вы не построить свой JavaScript в код-сзади).

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