インプットがチェックボックスかどうかを調べたいのですが、以下のコードは機能しません。
lang
1$("#myinput").attr('checked') === undefined
お願いいたします!
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
【チェックボックスかどうか】ということなので、
属性を使うなら、
lang
1$("#myinput").attr('type') === 'checkbox'
こんな感じでしょうか。
ただ、type="Checkbox"のように大文字になっていたりするとアウトなので、
lang
1$("#myinput").attr('type').toLowerCase() === 'checkbox'
として、小文字で比較するということでどうですかね。
細かいことを言うと、type 属性がなかった場合にエラーになりそうなので、
↑のやり方だと、いろいろ細かくチェックしないといけません。
なので、keisukeoo さんも言われているように、jQuery の is で良いのでは?と思います。
lang
1if($("#myinput").is(':checkbox')) { 2 // チェックボックスの場合 3} 4else { 5 // チェックボックスではない場合 6}
投稿2014/08/30 08:05
総合スコア54
0
偽のセレクター:checkboxをjQueryのis関数と呼び出して使いましょう。下記例です。
lang
1<html> 2 <head> 3 <script src="jquery.js"></script> 4 <script type="text/javascript"> 5 $(function (){ 6 $('input').click(function() { 7 alert($(this).is(":checkbox")) 8 alert("チェックボックスです。") 9 } 10 }); 11 }); 12 </script> 13 </head> 14 <body> 15 <form id="action"> 16 <input type="text" id="myinput1"> 17 <input type="checkbox" id="myinput2"> 18 <input type="submit" id="myinput3"> 19 </form> 20 </body> 21</html>
投稿2014/08/30 07:30
総合スコア146
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/09/01 02:56