【Javascript】配列に配列をpushしたい
みいと
おじさんのWEBデザイン学習まとめ
仕事でcheckboxにチェックが入ったら○○するというような処理をよく使うのでまとめ。
仕事でたまに簡単なjQueryが必要なことがあり、都度調べながら対応する状況。
独学なので良い書き方かどうかはわかりませんが、このような処理をしています。
checkboxにチェックが入ったときの処理なので、checkboxにchangeイベントを設定します。
$('input[type=checkbox]').change(function() {
//処理内容
});
attrでの属性取得は要素に記述されている状態を取得します。(初期設定を取得するような感じ)
そのためformの属性取得をする場合はpropを使うのがよさそうです。
propは属性値を取得、設定をすることができます。
propを使った属性の取得はこのように記述します。
prop(‘属性’)
今回はこちらを使います。
propを使った属性値の設定はこのように記述します。
prop(‘属性’, ‘属性値’)
ifの条件式にpropでchecked属性を取得します。
propで取得したcheckedの属性値がtrueならチェックが入ったということになるので、if文はこのようになります。
if ($btn.prop('checked') {
//チェックが入ったときの処理
} else {
//チェックが外れたときの処理
}
今回はこのようなHTMLを使い、checkboxのchangeイベントで#targetの段落に文字を表示します。
<p>
<label style="margin: 1em;"><input type="checkbox" name="btn" value="サンプル">サンプル</label>
</p>
<p id="target"></p>
Javascript部分はこのようにしました。
$(function() {
$('input[type=checkbox]').change(function() {
let $btn = $(this);
if ($btn.prop('checked')) {
$('#target').text('チェックが入りました。');
} else {
$('#target').text('チェックが外れました。')
}
});
});
今回はclickイベントでも動きました。
動きはこのようになります。