
こんにちは。
jQuery初心者です。datepickerをスマホページに設置しているのですが、カレンダーボタンをクリックするとカレンダー自体は表示されるのですが、日付を選択することができません。
(日付をタップしても何も起こりません)
ただPCで同じスマホページを確認してみると、問題なく日付を選択することができます。
なぜスマホで見たときだけこのような現象が起こるのか全く分からず、困っています・・。
これだけの情報で大変恐縮なのですが、もし心当たりのある方がいらっしゃれば教えて頂けると本当に助かります。
よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
こんにちは
スマホに関してはさっぱりなので、ほとんどが推測になりますが・・・
PCとスマホではイベントが異なるために反応していない可能性があります。
また、iOSとandroidでも挙動が異なる部分があるようです。(少し古い情報ですが)
http://masawada.hatenablog.jp/entry/2015/05/13/2 …
そんなことも併せて考えると、jQueryMobileに対応したライブラリを用いる方がOSやブラウザの差を吸収しやすいのではないかと想像します。
ちなみに、ANo1様がご提示のjQueryサイトのデモは、androidでは動作しますね。(iphoneは手元にないので不明です)
簡単に検索してみたら、datepickerに近いものでjQueryMobile対応のこんなのもあるようです。
まず、動作するかを見てみるのが宜しいかと。
http://d.hatena.ne.jp/Kimura/20120728/p1
お礼が遅くなり申し訳ありません。
丁寧なご回答、誠にありがとうございます。
androidを持っていないため、ご確認頂いたのが本当にありがたいです!
ご提案いただいたjQueryMobileを一度試してみようかと思います。
ありがとうございました。
No.2
- 回答日時:
Chromeでは、下記で動作しましたが。
<html lang="ja">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="https://code.jquery.com//ui/1.12.1/themes/base/j …
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></s …
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min. …
<script>
$(function() {
$(".datepicker").datepicker({
dateFormat : "yy/mm/dd"
,showOn: "button"
,buttonImage:"Calendar.png"
,buttonImageOnly: true
,beforeShow : function(input,inst){
var year = $(this).parent().find(".year1").val();
var month = $(this).parent().find(".month1").val();
var date = $(this).parent().find(".day1").val();
$(this).datepicker("setDate" , year + "/" + month + "/" + date)
},
onSelect: function(dateText, inst){
var dates = dateText.split('/');
$(this).parent().find(".year1").val(dates[0]);
$(this).parent().find(".month1").val(dates[1]);
$(this).parent().find(".day1").val(dates[2]);
}
});
});
</script>
</head>
<body>
<input name="year1" value="" class="year1" /> 年
<input name="month1" value="" class="month1" /> 月
<input name="day1" value="" class="day1" />日
<input type="hidden" value="" class="datepicker" />
</body>
</html>
ご確認いただきありがとうございます。
chromeとはPCでしょうか?スマホでしょうか?
私の方でも、PCのchromeでは動作することは確認できているのですが、
iphoneで閲覧した時に、動作しないのです・・。
確認のためiphoneのchromeで見たらやはり動作しませんでした。
No.1
- 回答日時:
・対象となっているhtmlソースはどのようになっていますか?
また、そのhtmlソースを、datepickerを構成するだけの
簡素なソースで動作させても同様の現象が発生しますか?
・datepickerとは、どのライブラリですか?jQuery UI Datepicker?
だとしたら下記ページに記されているview sourceのコードから
求める実装を行っても動作しませんか?
https://jqueryui.com/datepicker/
・ブラウザのjs実行結果でエラーが発生してませんか?
・動作させているブラウザの種類とバージョンは?
ご回答ありがとうございます!
・簡素なソースでは試していなかったです。日付のフォーマットを特殊な形にしなければいけないため下記のような記述にしています。
・ライブラリはjQuery UI Datepickerです。
・PCはchromeで確認していますがエラーは発生していないです。
・ブラウザはiOSのsafariですが、すみませんバージョンがわからないです。
<input name="year1" value="" class="year1" /> 年
<input name="month1" value="" class="month1" /> 月
<input name="day1" value="" class="day1" />日
<input type="text" value="" class="datepicker" style="display:none;" />
【script】
$( ".datepicker" ).datepicker({
dateFormat : "yy/mm/dd"
,buttonImage:"Calendar.png"
,beforeShow : function(input,inst){
var year = $(this).parent().find(".year1").val();
var month = $(this).parent().find(".month1").val();
var date = $(this).parent().find(".day1").val();
$(this).datepicker( "setDate" , year + "/" + month + "/" + date)
},
onSelect: function(dateText, inst){
var dates = dateText.split('/');
$(this).parent().find(".year1").val(dates[0]);
$(this).parent().find(".month1").val(dates[1]);
$(this).parent().find(".day1").val(dates[2]);
}
});
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access DTPickerの初期表示月を変えたい 1 2022/08/02 08:55
- Excel(エクセル) 余計なお世話的な「入力規則」?対策は? 2 2023/01/14 12:39
- その他(パソコン・スマホ・電化製品) Googleカレンダーで不要データを一括削除したい 1 2023/08/02 12:42
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- JavaScript プラグイン無しでContactform7にdatepickerを実装 3 2022/10/25 02:18
- Excel(エクセル) 【Excel関数】カレンダーで文字が入っていたら転記 4 2023/07/24 23:28
- HTML・CSS アドバイスを下さい。 1 2022/10/08 01:18
- JavaScript jquery 診断コンテンツにチェックボックスを付けたいです 3 2023/01/19 18:31
- Windows 10 再起動後 Pinが使用できず、PC(windows11)にサインインできない 3 2022/08/30 20:53
- その他(ブラウザ) zoomのバーチャル背景が選べない 4 2022/12/08 12:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SHIFT + TABキーの...
-
ページ間で変数を保持したい
-
フォーカスが外れた時の入力チ...
-
一部Enter無効化の方法を教えて...
-
テキストボックスに入力した色...
-
checkboxをshiftキーを押しなが...
-
VBscriptの配列変数をJavascrip...
-
TextBoxに半角数字以外を入れた...
-
開いたサブウインドウから値を...
-
現在時刻を表示させたい!
-
HTMLファイル同士での値渡し
-
IE上のカーソル位置に文字列を...
-
改行コード変換しても、引数の...
-
フォームの内容でリンク先URLの...
-
VBSからjavascript
-
大文字か小文字かを判断する方法
-
tabindexの取得
-
検索フォーム内に常時テキスト...
-
【jQuery】input nameの文字列...
-
Selectボックスの幅を自動で広...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jQueryのdatepickerの日付が選...
-
tabindexの取得
-
ページ間で変数を保持したい
-
JSPでonChangeを強制発行するに...
-
JavaScriptの値を、cgiに渡す方...
-
VBSからjavascript
-
どちらかひとつのテキストボッ...
-
TextBoxに半角数字以外を入れた...
-
フォームの内容でリンク先URLの...
-
イベント発生順序
-
フォーカスが外れた時の入力チ...
-
javascriptのちょっとした動作...
-
【Javascript】(テキストボッ...
-
フォームのPOSTデータをサブウ...
-
一部Enter無効化の方法を教えて...
-
ロストフォーカスしたフォーム...
-
INPUTタグ以外からイベントハン...
-
SHIFT + TABキーの...
-
子ウィンドウを閉じるとき、親...
-
Request.Form(key)の中身をクリ...
おすすめ情報