フォーム項目の内容が変更された時のjQueryのイベントまとめ。
テキストフィールドや、ラジオボタンなど、フォーム項目の内容が変更された時に処理を行うための、jQueryによるイベントのまとめです。
サンプルはこちら
フォームは次のように、テキストフィールド、テキストエリア、ラジオボタン、チェックボックス、セレクトボックスを作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<form> <!-- テキストフィールド --> <input type="text" id="text" name="text" value="" /> <hr /> <!-- テキストエリア --> <textarea id="textarea" name="textarea"></textarea> <hr /> <!-- ラジオボタン --> <label for="radio-01"><input type="radio" id="radio-01" name="radio" value="1" />ラジオ1</label> <label for="radio-02"><input type="radio" id="radio-02" name="radio" value="2" />ラジオ2</label> <label for="radio-03"><input type="radio" id="radio-03" name="radio" value="3" />ラジオ3</label> <hr /> <!-- チェックボックス --> <label for="checkbox-01"><input type="checkbox" id="checkbox-01" name="checkbox" value="1" />チェックボックス1</label> <label for="checkbox-02"><input type="checkbox" id="checkbox-02" name="checkbox" value="2" />チェックボックス2</label> <label for="checkbox-03"><input type="checkbox" id="checkbox-03" name="checkbox" value="3" />チェックボックス3</label> <hr /> <!-- セレクトボックス --> <select name="test[select]" id="select"> <option value="1">セレクト1</option> <option value="2">セレクト2</option> <option value="3">セレクト3</option> </select> <hr /> </form> |
上記のフォーム項目ごとに、内容が変更された時にイベントを取得して、別のDIVタグ内に変更内容を表示するようにしています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
$(function() { //テキストフィールド $("input#text").keyup(function() { $("div#value-text span").text($(this).val()); }); //テキストエリア $("textarea#textarea").keyup(function() { $("div#value-textarea span").text($(this).val()); }); //ラジオボタン $("input[name='radio']:radio").change(function() { $("div#value-radio span").text($(this).val()); }); //チェックボックス $("input[name='checkbox']:checkbox").click(function() { var array = new Array(); $("input[name='checkbox']:checked").map(function() { array.push($(this).val()); }); $("div#value-checkbox span").text(array.toString()); }); //セレクトボックス $("select#select").change(function() { $("div#value-select span").text($(this).val()); }); }); |
テキストエリア、テキストボックスは、キーボードが押された時に、ラジオボタン、セレクボトックスは選択が変更された時に、チェックボックスはいずれかのチェックボックスが押された時にそれぞれイベントを取得しています。
変更内容の確認のための各DIVは、次のように記述しています。
1 2 3 4 5 |
<div id="value-text">テキストフィールドの値:<span></span></div> <div id="value-textarea">テキストエリアの値:<span></span></div> <div id="value-radio">ラジオボタンの値:<span></span></div> <div id="value-checkbox">チェックボックスの値:<span></span></div> <div id="value-select">セレクトボックスの値:<span></span></div> |