JqueryとBootstrap Datepickerを使用して、Bootstrap Datepickerを使用して選択した新しい日付値を取得するにはどうすればよいですか?参考までに、Rails 3とCoffescriptを使用しています。
以下を使用してデータピッカーをセットアップします。
<input id="startdate" class="span2 datepicker" type="text" value="" name="startdate" default="2013-05-21" data-date="2013-05-21" data-behavior="datepicker">
<%= submit_tag 'Get Data using date', :id => 'get_data' %>
$(".datepicker").datepicker
endDate: new Date
format: "yyyy-mm-dd"
autoclose: true
minViewMode: 1
todayBtn: "linked"
ユーザーがその横にある[日付を使用してデータを取得]ボタンをクリックすると、jQueryを使用してdatepickerによって設定された新しい日付値を取得し、フォームが送信しないようにし、その日付値を使用してajaxリクエストを実行します。正しい新しい日付値を取得することを除いて、すべてのajaxは正常に動作しています。次の両方を試してみましたが、新しい日付は表示されず、最初に設定したデフォルト値のみが返されます。
sd1 = $('#startdate').attr('value')
console.log sd1
sd2 = $('#startdate').attr('data-date'))
console.log sd2
本当にばかげていると感じていますが、bootstrap datepickerで設定された新しい日付値を取得する方法がわかりません。
これを試すことができます
$('#startdate').val()
または
$('#startdate').data('date')
bootstrap datepickerには次を使用できます。
$("#inputWithDatePicer").data('datepicker').getFormattedDate('yyyy-mm-dd');
ブートストラップ日付ピッカー(bootstrap datepickcer検索の最初の結果)には、選択した日付を取得するメソッドがあります。
http://bootstrap-datepicker.readthedocs.org/en/release/methods.html#getdate
getDate:
選択範囲の最初の日付ピッカーの内部日付オブジェクトを表すローカライズされた日付オブジェクトを返します。
複数日付ピッカーの場合、選択された最新の日付を返します。
$('.datepicker').datepicker("getDate")
または
$('.datepicker').datepicker("getDate").valueOf()
一般的に言えば、
$('#startdate').data('date')
なぜなら最高だから
$('#startdate').val()
日付ピッカーが「インライン」の場合は機能しません
これはインラインdatepicker
(およびその他)で動作します
$('#startdate').data('datepicker').date
すでにハイライトされた日付がすでにあるで最後にクリックされた日付を特定するをしたい場合は、以下が必要です:
$('#startdate').data('datepicker').viewDate
viewDate
はJavaScript日付オブジェクトを返すため、それに応じて処理する必要があります。
フルテキスト文字列形式で日付を変更したくない場合は、次のようにします。
$('#your-datepicker').data().datepicker.viewDate
次のようなHTMLを使用してこれを試してください。
var myDate = window.document.getElementById("startdate").value;
上記の答えを試しましたが、うまくいきませんでした。したがって、user3475960が言及したように、私は$('#startdate').html()
を使用してhtmlテキストを提供したため、必要に応じて使用しました。
ここには多くの解決策がありますが、おそらく最良の解決策です。使用するスクリプトのバージョンを確認してください。
少なくとも私はあなたに私の100%実用的なソリューションを与えることができます
バージョン:4.17.45
bootstrap-datetimejs https://github.com/Eonasdan/bootstrap-datetimepicker Copyright(c)2015 Jonathan Peterson
JavaScript
var startdate = $('#startdate').val();
出力は次のようになります:12.09.2018 03:05