はじめに
jQueryは広く使っていたjavascriptライブラリです。
ドキュメントも豊富ですが、入力項目の値設定、取得方法をまとめてみます。
1. textbox
html
<label>ユーザー名</label>
<input type="text" name="userName" id="userName" value="山田 太郎" maxlength="32">
idで値取得
$("#userName").val()
nameで値取得
$("input[name='userName']").val()
idで値設定
$("#userName").val("山田 三郎")
nameで値設定
$("input[name='userName']").val("山田 三郎")
2. textarea
html
<label>プロフィール</label>
<textarea name="profile" id="profile" maxlength="200" cols="50" rows="5">私は山田 太郎です。</textarea>
idで値取得
$("#profile").val()
nameで値取得
$("textarea[name='profile']").val()
idで値設定
$("#profile").val("私は山田 三郎です。")
nameで値設定
$("textarea[name='profile']").val("私は山田 三郎です。")
3. radiobutton
<label>性別</label>
<input type="radio" name="gender" id="genderMale" value="男性" checked><label for="genderMale">男性</label>
<input type="radio" name="gender" id="genderFemale" value="女性"><label for="genderFeMale">女性</label>
checkedの値取得
$("input[name='gender']:checked").val()
複数項目があるから、IDで値を取得する書き方はしません。
IDでcheckedを設定
$("#genderFemale").attr("checked", true)
IDでcheckedを解除
$("#genderFemale").attr("checked", false)
nameでcheckedを設定
$("input[name='gender']").val(["女性"])
注意したいのは値を「[]」で囲むことです。下記の書き方は効かないです。
$("input[name='gender']").val("男性")
4. checkbox
html
<label>趣味</label>
<input type="checkbox" name="hobby" id="hobby01" value="01"><label for="hobby01">読書</label>
<input type="checkbox" name="hobby" id="hobby02" value="02"><label for="hobby02">サッカー</label>
checkedの値取得
複数項目があるから、IDで値を取得する書き方はしません。
radioボタンみたいに下記のように書くと1つ目の値だけ取得されます。
$("input[name='hobby']:checked").val()
eachメソッドを利用して配列取得
const hobby = []
$('input[name=hobby]:checked').each(function(index, element) {
hobby.push(element.value);
});
mapメソッドを利用して配列取得
$('input[name=hobby]:checked').map(function(){
return $(this).val();
}).get()
IDでcheckedを設定
$("#hobby01").attr("checked", true)
IDでcheckedを解除
$("#hobby01").attr("checked", false)
nameで複数項目設定
$("input[name='hobby']").val(["01", "02"])
5. pulldown
html
<label>職業</label>
<select name="occupation" id="occupation">
<option value="" selected></option>
<option value="01">会社員</option>
<option value="02">学生</option>
<option value="03">公務員</option>
</select>
idで値取得
$("#occupation").val()
nameで値取得
$("select[name='occupation']").val()
idで値設定
$("#occupation").val("03")
nameで値設定
$("select[name='occupation']").val("03")
6. multiple select
html
<label>趣味</label>
<select name="interest" id="interest" multiple>
<option value=""></option>
<option value="01">読書</option>
<option value="02">野球</option>
<option value="03">サッカー</option>
<option value="04">ネットサーフィン</option>
</select>
idで値取得
$("#interest").val()
これで["02", "03"]のような配列を取得できます。
nameで値取得
$("select[name='interest']").val()
idで値設定
$("#interest").val(["02", "03"])
nameで値設定
$("select[name='interest']").val(["02", "03"])
7. readonlyなどの属性の追加、削除
属性追加
$("#userName").attr("readonly", true)
属性削除
$("#userName").attr("readonly", false)
または
$("#userName").removeAttr("readonly")
IDとnameの定義に十分注意が必要です。特にIDは重複してしまうとおかしい動作になる場合があります。
以上