カレンダーを表示するためにjquery datepickerを使用しています。要件に応じて、アプリケーションで使用するjquery変数でユーザーが選択した日付を取得したいのですが、日付を取得できません。 datepcikerのコード
<div id="datepicker"></div>
ここで、選択したコードを取得しようとしています。
$(document).ready(function () {
$("#datepicker").datepicker({
onSelect: function (dateText, inst) {
var date = $(this).val();
alert(date);
}
});
});
しかし、私は日付を取得することができません。
これでうまくいくはずです
$(function() {
$("#datepicker").datepicker();
$("#datepicker").on("change",function(){
var selected = $(this).val();
alert(selected);
});
});
それは基本的ですが、ここに jsfiddle があり、選択されたときに選択された日付を警告します
更新して日付形式を変更する
$(function() {
$( "#datepicker" ).datepicker({ dateFormat: "yy-mm-dd" });
$("#datepicker").on("change",function(){
var selected = $(this).val();
alert(selected);
});
});
3回目の更新
$(function() {
$("#datepicker").datepicker({
dateFormat: "yy-mm-dd",
onSelect: function(){
var selected = $(this).val();
alert(selected);
}
});
});
datepicker
のネイティブマークアップをもう少し使用しました。ここでuiを試して、後で警告が表示されるかどうかを確認してください。
これを試して
$('.selector').datepicker({
onSelect: function(dateText, inst) { ... }
})
クラス.datepicker,
の2つの要素があり、セレクタはどの要素から選択するかわかりません。したがって、日付を取得しようとしている入力の名前を指定する必要があります
first = $(".datepicker[name=datepicker1]").datepicker('getDate');
second = $(".datepicker[name=datepicker2]").datepicker('getDate');
changeDate
の代わりにonSelect
イベントの概要 here を使用して、e.date
またはe.dates
を参照できます。以下のJSONを参照してください。
HTML:
<div id='QA'></div>
<div id='datepicker'></div>
JS:
<script type="text/javascript">
$(function() {
$('#datepicker').datepicker({
clearBtn: true,
todayHighlight: false,
multidate: true
}) .on('changeDate', function(e){
$('#QA').html(JSON.stringify(e));
});
});
/*
{
"type":"changeDate",
"date":"2015-08-08T07:00:00.000Z",
"dates":[
"2015-08-08T07:00:00.000Z"
],
"timeStamp":1438803681861,
"jQuery21409071635671425611":true,
"isTrigger":3,
"namespace":"",
"namespace_re":null,
"target":{
},
"delegateTarget":{
},
"currentTarget":{
},
"handleObj":{
"type":"changeDate",
"origType":"changeDate",
"guid":52,
"namespace":""
}
}
*/
</script>
試す
$("#datepicker").datepicker({
onSelect:function(selectedDate)
{
alert(selectedDate);
}
});
OR
$("#datepicker").datepicker({
onSelect:function (dateText, inst)
{
alert(inst);
}
});