特定のクラスを持つすべての 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);
});
});