-1

実行されていないjQueryコードがあります。コードブロックは次のようになります

jQuery(document).ready(function() {
$('#Start').datepicker();
$('#End').datepicker();
$('#End').val('date');
$('#Start').val('start');
alert('hello');
}); 

Startただし、および テキストボックスには日付ピッカーは適用されませんEnd。このスクリプトの前にjQueryファイルとjQuery.uiファイルが追加されていることに注意してください。このコードブロックでは、最後の行(alert)も実行されていません。

Firefoxコンソールでエラーを確認できますuncaught exception: Invalid dimensions for plot, width = null, height = nullが、エラーの場所はわかりません。

何が問題なのですか?なぜこのコードが実行されていないのですか?これをデバッグする方法は?

編集1: コードを次のように変更しました

jQuery(document).ready(function() {
        //$('#Start').datepicker();
        //$('#End').datepicker();
        //$('#End').val('date');
        //$('#Start').val('start');
        alert('hello inside');
    });
    alert("hello outside");

これで、アラートは2つだけになります(残りの行はコメント化されています)。ready関数の外側のアラートは実行されますが、内側のアラートは実行されません。

4

2 に答える 2

-1

日付ピッカーでは、日付ピッカーを初期化した後に文字列値を設定できるかどうかわかりません。

これらの2行を削除してみてください:

$('#End').val('date');
$('#Start').val('start');
于 2012-12-21T20:08:52.770 に答える
-1

私は Datepicker を使ったことはありませんが、これらの行をコメントアウトすればうまくいくと思います:

$('#End').val('date');
$('#Start').val('start');

jquery のほとんどは非同期です。上記の 2 行は、ユーザーが日付を選択する前に実行されます (そのため、値が欠落しています)。したがって、このようなコールバック関数を含める必要があります(クイックグーグル)

jQueryの日付ピッカー、onSelectが機能しない

    $('#End').datepicker( {
        onSelect: function(date) {
            alert(date);        }
    });

編集:

これはjsfiddle(http://jsfiddle.net/q6UFc/)で機能します:

HTML:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js"></script>
<input type="text" id="end" name="end" />

Javascript:

$(document).ready(function () {          
$('#end').datepicker( {
            onSelect: function(date) {
                alert(date);        }
        });

})
于 2012-12-21T20:14:59.170 に答える