それぞれに割り当てられたクラスの日付ピッカーがあります。私が達成しようとしているのは、日付ピッカーonSelect()ハンドラーを検出して(使用して)、選択した日付に1日を加えた最小日付を設定することです。次のdatepickerを取得し、最小の日付値を設定します
$(this).next( '。publication_date);を使用しようとしました。しかし、これは何も返されないようです。
実際には、選択した日付の後に一連の日付ピッカーが表示される可能性があるため、これらを個別に設定する必要があります。
マークアップ: -
$(".publication_date").livequery(function() {
$(this).datepicker({
dateFormat: "dd M yy",
changeYear: true,
changeMonth: true,
altFormat: 'yy-mm-dd',
altField: $(this).next(),
onSelect: function(dateText, inst) {
console.log($(this).next('.publication_date'));
}
});
});
例HTML: -
<div id="tierRight">
<div id="tier1" class="tier">
<p class="title">Tier 1</p>
<label class="publication_date_label" for="publication_date_1">Publication Date: </label>
<input type="text" value="" readonly="readonly" name="tier[1][publication_date]" id="publication_date_1" size="10" maxlength="10" class="publication_date hasDatepicker">
<input type="hidden" class="publication_date_db" value="2010-11-24" name="tier[1][publication_date_db]" id="publication_date_db_1">
<img class="date_clear" src="delete_grey.gif" onclick="$(this).siblings('input').val('');">
</div>
<div id="tier2" class="tier">
<p class="title">Tier 2 <a class="removeTier" title="" href="#">Remove</a></p>
<label class="publication_date_label" for="tier[2][publication_date]">Publication Date: </label>
<input type="text" value="" readonly="readonly" name="tier[2][publication_date]" id="publication_date_2" size="10" maxlength="10" class="publication_date hasDatepicker">
<input type="hidden" class="publication_date_db" name="tier[2][publication_date_db]" id="publication_date_db_2" value="">
<img src="delete_grey.gif");="").val(="" input="" onclick="$(this).siblings(" class="date_clear">
</div>
<div id="tier3" class="tier">
<p class="title">Tier 3 <a class="removeTier" title="" href="#">Remove</a></p>
<label class="publication_date_label" for="tier[3][publication_date]">Publication Date: </label>
<input type="text" value="" readonly="readonly" name="tier[3][publication_date]" id="publication_date_3" size="10" maxlength="10" class="publication_date hasDatepicker">
<input type="hidden" class="publication_date_db" name="tier[3][publication_date_db]" id="publication_date_db_3" value="">
<img src="/delete_grey.gif");="").val(="" input="" onclick="$(this).siblings(" class="date_clear">
</div>
</div>
以下のコードを使用しようとしているが、スタイルは、いくつかの理由で、すべての奇妙に行く:この中
$('#start_date_datepicker').datepicker({
dateFormat: "dd M yy",
altField: '#start_date_datepicker_altfield',
altFormat: 'yy-mm-dd',
changeYear: true,
changeMonth: true,
minDate: new Date(),
onSelect: function(dateText, inst) {
$('.publication_date').each(function(){
var current_tier = $(this).closest('.tier');
//Do all your stuff here
console.log(current_tier);
$(current_tier).datepicker({
minDate: new Date()
});
});
}
});
これを相対的に取得する方法を説明するには、マークアップを参照する必要があります。 –
ニック、いくつかのサンプルコードを追加しました。 –