###前提・実現したいこと
jQueryで日付input type="date"を入力判定してクラスを付与。日付が入力されていなければクラスを除去したい。
###発生している問題・エラーメッセージ
当初valueの有無で判定しようとしましたが、HTML5のデフォルトのプレースホルダーによる> 年/月/日
がvalueの中身と判定されてしまうため、この方法ではダメでした。
###該当のソースコード
これだとうまくいきません。
html
1<input type="date" value="" data-target="#hoge">
javascript
1$(function () { 2 var $date = $('input[type="date"][data-target^="#hoge"]') 3 $date.on('change', function () { 4 var flag = ($(this).val().length > 0) ? "selected" : ""; 5 $($(this).attr('data-target')).attr("class", flag); 6 }); 7});
###試したこと
これもダメ
javascript
1var $date = $('input[type="date"][data-target^="#hoge"]') 2 $date.on("change", function () { 3 var flag = false; 4 $date.blur(function () { 5 flag = $(this).val().length > 0; 6 return !flag; 7 }); 8 $($(this).attr('data-target')).toggleClass("selected", flag); 9 });
何卒よろしくお願いいたします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/03 10:16