1

特定のクラスを持つすべての input=text フィールドをループし、jQuery を使用して入力フィールドの値を抽出しようとしています。値を取得することはできませんが、何があっても、コンソールに「(空の文字列)」が表示されます。

どうすれば値を取得できますか? 私のコードは次のとおりです。

$.each($('.datepicker'), function() {
    console.log(this);
    console.log($(this).val());
});

これの出力は次のとおりです。

<input id="createdDate" class="datepicker hasDatepicker" type="text" onchange="setDueDate();" value="2013-06-19" size="8" name="invoice[createdDate]">
(an empty string)
<input id="dueDate" class="datepicker hasDatepicker" type="text" value="2013-06-19" size="8" name="invoice[dueDate]">
(an empty string)

編集:問題の一部はキャッシュされたJSであり(ファイルがソースに正しく表示されていても、古いJSを実行していました...非常に奇妙です)、jQueryの日付ピッカーが問題を引き起こしている可能性があります。私はそれを次のように修正しました:

$(document).ready(function() {
    $('.datepicker').datepicker();

    $.each($('.datepicker'), function() {
        date = $(this).val();

        $(this).datepicker('option', 'dateFormat', 'yy-mm-dd');
        $(this).datepicker('setDate', date);
    });
});
4

3 に答える 3