月、日、年の3つの別々のフィールドを使用して日付フィールドを繰り返すフォームがあります。私はそれを持っているので、日付を3つのフィールドに分割しますが、1つの大きな問題は、システムがフォームに複数の日付ピッカーをレンダリングし、月の日と年のフィールドのhtmlまたはフォームフィールドクラスを変更できないことです。周囲のdivクラスを1つ使用して、各日付ピッカーdivグループの日付フィールドのみを更新できるようにするにはどうすればよいですか?
HTMLの例:
<div class="date-picker">
<label for="preferredDate">Date</label>
<input type="text" class="date_month" />/
<input type="text" class="date_day" />/
<input type="text" class="date_year" />
</div>
<div class="date-picker">
<label for="preferredDate">Date</label>
<input type="text" class="date_month" />/
<input type="text" class="date_day" />/
<input type="text" class="date_year" />
</div>
<div class="date-picker">
<label for="preferredDate">Date</label>
<input type="text" class="date_month" />/
<input type="text" class="date_day" />/
<input type="text" class="date_year" />
</div>
そしてこれが私のjQueryです:
$(document).ready(function(){
$(".date-picker .date_year").datepicker({
showOn: 'button',
//buttonImage: "calendar_icon.png",
buttonText: 'Cal',
buttonImageOnly: false,
showAnim: 'fadeIn',
altField: '.date_year',
altFormat: 'YYYY',
altField: '.date_month',
altFormat: 'mm',
onClose: function(dateText,picker) {
$.this('.date_month').val( dateText.split(/\//)[0] );
$.this('.date_day').val( dateText.split(/\//)[1] );
$.this('.date_year').val( dateText.split(/\//)[2] );
}
});
});
覚えておいてください...フィールドに新しいクラスまたはIDを追加するためにレンダリングされるHTMLを変更することはできません。
どんな助けでも大歓迎です!:)
編集:ここに例を追加して、何が起こっているかを確認できるようにしますhttp://jsfiddle.net/4KzXs/