form関連の取得や判別をする時にいつもググっているので、備忘録のためにやり方をまとめてみます。
入力エリア
HTML
<dl> <dt>氏名</dt> <dd> <input id="sample" type="text" name="name" size="30" /> </dd> </dl> <div class="btn"> <button id="btn">テキスト取得</button> </div>
JavaScript
$(function() {
// フォーカス時
$('#sample').on('focus', function() {
console.log('focus');
});
// ブラー時
$('#sample').on('blur', function() {
console.log('blur');
});
// valueの取得
$('#btn').on('click', function() {
console.log($('#sample').val());
});
});
ラジオボタン
HTML
<dl> <dt>性別</dt> <dd> <label for="man"> <input type="radio" name="gender" value="男" id="man" />男 </label> <label for="woman"> <input type="radio" name="gender" value="女" id="woman" />女 </label> </dd> </dl> <div class="btn"> <button id="btn1">選択したvalue取得</button> <button id="btn2">チェックが入っているかどうか</button> <button id="btn3">男にチェックを入れる</button> <button id="btn4">チェックを外す</button> </div>
JavaScript
$(function() {
// ラジオボタン変更時
$('[name=gender]').on('change', function() {
console.log('change');
});
// 選択しているvalue取得
$('#btn1').on('click', function() {
console.log($('[name=gender]:checked').val());
});
// 選択されているか判定
$('#btn2').on('click', function() {
if($('[name=gender]:checked').prop('checked')) {
console.log('checked');
} else {
console.log('not checked');
}
});
// ラジオボタンにチェック追加
$('#btn3').on('click', function() {
$('[name=gender]').eq(0).prop('checked', true);
});
// ラジオボタンからチェックを外す
$('#btn4').on('click', function() {
$('[name=gender]:checked').prop('checked', false);
});
});
チェックボックス
HTML
<dl> <dt>時間帯</dt> <dd> <label for="hour1"> <input type="checkbox" name="hour" value="0:00~6:00" id="hour1" />0:00~6:00 </label> <label for="hour2"> <input type="checkbox" name="hour" value="6:00~12:00" id="hour2" />6:00~12:00 </label> <label for="hour3"> <input type="checkbox" name="hour" value="12:00~18:00" id="hour3" />12:00~18:00 </label> <label for="hour4"> <input type="checkbox" name="hour" value="18:00~24:00" id="hour4" />18:00~24:00 </label> </dd> </dl> <div class="btn"> <button id="btn1">選択したvalue取得</button> <button id="btn2">チェックが入っているかどうか</button> <button id="btn3">6:00~12:00にチェックを入れる</button> <button id="btn4">チェックを全て選択</button> <button id="btn5">チェックを全て外す</button> </div>
JavaScript
$(function() {
// チェックボックス変更時
$('[name=hour]').on('change', function() {
console.log('change');
});
// 選択しているvalue取得
$('#btn1').on('click', function() {
$('[name=hour]:checked').each(function() {
console.log($(this).val());
});
});
// 選択されているか判定
$('#btn2').on('click', function() {
if($('[name=hour]:checked').prop('checked')) {
console.log('checked');
} else {
console.log('not checked');
}
});
// 指定したチェックボックスにチェックを入れる
$('#btn3').on('click', function() {
$('[name=hour]').eq(1).prop('checked', true);
});
// 全てのチェックボックスにチェックを入れる
$('#btn4').on('click', function() {
$('[name=hour]').prop('checked', true);
});
// 全てのチェックボックスからチェックを外す
$('#btn5').on('click', function() {
$('[name=hour]:checked').prop('checked', false);
});
});
セレクト
HTML
<dl> <dt>氏名</dt> <dd> <select name="prefectures" id="prefectures"> <option value="">都道府県をお選びください</option> <option value="北海道">北海道</option> <option value="青森県">青森県</option> <option value="秋田県">秋田県</option> ~略~ <option value="鹿児島県">鹿児島県</option> <option value="沖縄県">沖縄県</option> </select> </dd> </dl> <div class="btn"> <button id="btn1">選択したvalue取得</button> <button id="btn2">選択したテキスト取得</button> <button id="btn3">選択しているかどうか</button> <button id="btn4">沖縄を選択する</button> </div>
JavaScript
$(function() {
// セレクト変更時
$('#prefectures').on('change', function() {
console.log('change');
});
// 選択しているvalue取得
$('#btn1').on('click', function() {
console.log($('#prefectures').val());
});
// 選択しているテキスト取得
$('#btn2').on('click', function() {
console.log($('#prefectures option:selected').text());
});
// 選択されているか判定
$('#btn3').on('click', function() {
if($('#prefectures').val() != '') {
console.log('selected');
} else {
console.log('not selected');
}
});
// 指定した項目を選択
$('#btn4').on('click', function() {
$('#prefectures').val('沖縄県');
});
});
セレクト(multiple)
HTML
<dl> <dt>氏名</dt> <dd> <select name="prefectures" id="prefectures" multiple="multiple"> <option value="北海道">北海道</option> <option value="青森県">青森県</option> <option value="秋田県">秋田県</option> ~略~ <option value="鹿児島県">鹿児島県</option> <option value="沖縄県">沖縄県</option> </select> </dd> </dl> <div class="btn"> <button id="btn1">選択したvalue取得</button> <button id="btn2">選択したテキスト取得</button> <button id="btn3">北海道を選択する</button> <button id="btn4">青森県と岩手県を選択する</button> </div>
JavaScript
$(function() {
// セレクト変更時
$('#prefectures').on('change', function() {
console.log('change');
});
// 選択しているvalue取得
$('#btn1').on('click', function() {
console.log($('#prefectures').val());
});
// 選択しているテキスト取得
$('#btn2').on('click', function() {
$('#prefectures option:selected').each(function() {
console.log($(this).text());
});
});
// 指定した項目を選択
$('#btn3').on('click', function() {
$('#prefectures').val('北海道');
});
// 指定した項目を選択
$('#btn4').on('click', function() {
$('#prefectures').val(['青森県', '岩手県']);
});
});
【参考サイト】
- 【jQuery】フォーム部品の取得・設定まとめ – Qiita
- jQueryでチェックされたcheckboxの値を取得して配列に格納する方法、また、配列をcheckboxの値に設定する方法 – knt45の日記
コメントが承認されるまで時間がかかります。