日付を動的に取得するために日付ピッカーの属性を取得しようとしていますが、変数に設定しようとするとキャッチされない例外エラーが発生します。
エラーは、カレンダー(インライン)がないページでのみ発生します。このエラーが発生せずにセレクタからrelタグをプルするにはどうすればよいですか?
//Event Calendar Home Page and Listing
function calendar_picker () {
$("#calendar-inline").datepicker({
//defaultDate: $(this).attr('rel'),
dateformat: 'yy-mm-dd',
maxDate: '+1y',
minDate:'-0d',
hideIfNoPrevNext: true,
showButtonPanel: false,
navigationAsDateFormat: false,
onSelect: function(dateText, inst) {
var d = new Date(dateText);
var fmt1 = $.datepicker.formatDate("yy-mm-dd", d);
$.ajax({
type: "POST",
url: "/events/listing/all/20/",
dataType: "html",
date: "event_date="+fmt1,
success: function(){
window.location.href= "/events/browse/"+fmt1;
}});}});
}
[〜#〜] update [〜#〜]正解、コメント行は私が問題を抱えているものです。これから#calendar-inlineから属性relをプルする正しい方法は何ですか。すべての試みはjsでキャッチされていないエラーをスローします
更新2
function calendar_picker () {
var myDate = new Date($("#calendar-inline").attr('rel'));
$("#calendar-inline").datepicker({
dateformat: 'yy-mm-dd',
defaultDate:myDate,
ソリューション:
function calendar_picker () {
var myDate = null;
if ($("#calendar-inline").attr('rel') != null) {
myDate = $.datepicker.parseDate("yy-mm-dd", $("#calendar-inline").attr('rel'));
}
$("#calendar-inline").datepicker({
dateformat: 'yy-mm-dd',
defaultDate:myDate,
これを試して:
defaultDate: $("#calendar-inline").attr('rel')
これは 'rel'属性から日付を取得しようとし、それが存在しない場合はnullを返します。 datepickerのデフォルトの日付にnullが渡されると、今日がデフォルトの日付として使用されます。
これでデフォルトの日付を設定できます:
<script type="text/javascript">
$(function() {
$("#date" ).datepicker({
changeMonth: true,
changeYear: true,
yearRange: '1920:2010',
dateFormat : 'dd-mm-yy',
defaultDate: new Date(2000,01,01)
});
});
</script>
これは私にとってはうまくいきます:
var nowDate = new Date(year, month, day, hours, minutes, seconds, milliseconds);
次に、日付ピッカーで次のように設定します。
defaultDate: nowDate;
あなたの質問は少し不明確です-私が想定しているのは、コメントアウトされた行で問題が発生しているということです。
それが正しければ、あなたの問題は「これ」にあると思います。 「これ」が何であると期待しているのかよくわかりませんが、関数内ではウィンドウオブジェクトになります。
私が完全に間違った軌道に乗っている場合は、質問をいくつかの詳細情報で更新してください。