jQuery「val」でフォームや要素のvalue値を取得・設定する
jQueryのメソッド「.val() 」は、要素の「valueの値を取得/設定する」事ができるメソッド。
今回は、jQueryで「要素のvalueの値を取得/設定する」メソッド「.val()」について、その使い方をサンプルを交えて解説しよう。
目次
value属性が使える要素
ちなみに、.val()
で「要素のvalue値を取得できる」という事だが、「value属性」は全ての要素で使えるわけではない。では、「value」が使える要素にはどんなものがあるだろうか?
- input
- button
- option
- olタグのli
- data
- meter
- progress
このように一般的なフォームタグだけではなく、olのli
タグやprogress
タグなどにも「value属性」は使われるので覚えておこう。
.val()の構文
.val()
ではvalueの値を「取得」と「設定」ができる。また、「関数を使って値を設定する」事もできるので、順番に解説していこう。
value値を取得する構文
$("セレクタ").val();
セレクタで指定した要素に対して.val()
と記述した場合は、そのvalue値を取得できる。
「取得」した値を、後で使う場合は、次のように変数に格納する方法がある。
var hoge = $("input").val();
value値を設定する構文
$("セレクタ").val("値");
value値を設定(変更)したい要素を「セレクタ」で指定し、.val()
のパラメータに「設定する値」を指定する事で、指定要素の「value値」を設定(変更)する事ができる。
value値を関数を使って設定する構文
$("セレクタ").val(function(インデックス,現在のvalue値){
return 関数の内容;
});
.val()でvalue値を設定する際に関数を使う事ができる。
.val()の引数にfunction(インデックス,現在のvalue値){ return 関数の内容; }
のように関数を設置するのだが、関数の第1引数にインデックス
、第2引数に現在のvalue値
を設定する事ができる。
「インデックス」とは、「0から始まる連番」であり、指定要素が複数ある場合に、その順番を取得する事ができるのだ。
例えば$("input").val(function(index,oldValue)
とした場合、index
には0から順番に数字が格納され、oldValue
には「現時点のvalue値」が格納されるのだ。
jQueryで.val()を使ってvalue値を取得して、その値を表示する例
まずは、ボタンをクリックしたら、テキストフォームのinput
タグのvalue値を取得して、その値を「テキスト」として表示する例で見ていこう。
$(function(){
$("button").on("click",function(){
var getval = $(".target").val();
$(".set").text(getval);
});
});
<button>ボタン</button>
<input class="target" type="text" value="ほげ">
<div> あなたが入力した文字は<span class="set"></span>です。 </div>
<button>ボタン</button>
<input class="target" type="text" value="ほげ">
<div> あなたが入力した文字は<span class="set">ほげ</span>です。 </div>
このように書く事で、ボタンを押した時に$(".target")
の「value値」を、一旦変数getval
に格納した上で、$(".set")
のテキストにほげ
に変更することができる。
この場合input
のフォームに「別の値を入力」してからボタンをクリックすると、もちろん「その入力した値」がテキストして表示される。
jQueryで.val()を使って、value値を設定する例
.val()を使って、value値を設定する例として、ボタンを押したら、inputのテキストフォームの「value値」を設定する例で見ていこう。
$(function(){
$("button").on("click",function(){
$(".set").val("ふが");
});
});
<button>ボタン</button>
<input class="set" type="text" value="">
<button>ボタン</button>
<input class="set" type="text" value="ふが">
このように書く事で、inputフォームの$(".set")
の「value値」をにふが
に設定する事ができる!
jQueryで.val()でvalue値を「関数を使って」設定する例
.val()を使って、value値を設定する例として、ボタンを押したら、inputのテキストフォームの「value値」を設定する例で見ていこう。
See the Pen
val() by stand4u (@stand4u)
on CodePen.
このコードを順番に解説していこう。
$(function(){
$("button").on("click",function(){
$(".target input").val(function(index,oldValue){
return oldValue * 10 + index;
});
});
});
<button>ボタン</button>
<div class="target">
<input type="text" value="1">
<input type="text" value="2">
<input type="text" value="3">
</div>
<button>ボタン</button>
<div class="target">
<input type="text" value="10">
<input type="text" value="21">
<input type="text" value="32">
</div>
このように書く事で「3つのinputフォームのそれぞれのvalue」に「関数で指定した内容」の値を順番に設定していく事ができる。
今回の場合function(index,oldValue){});
としているので、indexにはinputの0から始まる順番が入り、oldValueには現時点のそれぞれのvalue値
が入る。
関数の戻り値としてreturn oldValue * 10 + index;
と指定しているので、
最初のinput
にはindex
には0
、oldValue
には1
が格納されているので、1 * 10 + 0
という式になり、答えとして10
がvalue値に設定される。
同様に2番目のinput
には2 * 10 + 1
で21
が設定され、3番目のinput
には3 * 10 + 2
で32
が設定される事になるという事だ。
以上、jQueryで「.val()を使って、value値を取得/設定する」方法でした。
その他のjQueryメソッドについて確認したい方は、jQueryメソッドを一覧で解説したこちらの記事を確認しておこう!
フロントエンドスキルをもっと早く・簡単にマスターしたい方へ!
JavaScriptやCSS・Sassなどフロントエンド学習は、初心者が「独学」で完全マスターするには半年以上かかり、相当根気よくやらないと挫折してしまうか、ライバルに出遅れてしまう…。
短期間でフロントエンド・WEBデザインをマスターするには?
私の経験だが、手軽なオンラインスクールを利用した方が圧倒的に早かった。独学だと「何からどこまで勉強すれば良いかわからない」ものを、これだけ学習すればOKというポイントをおさえた教科書で学習しながら、わからない点を質問し放題なので、多少の出費は必要だが2ヶ月程度でサクッと学べたので逆に経済的だった!(実際に私がオンラインスクールを受講して体感)
では「オススメはどのスクール?」とよく聞かれるのだが、たった1つのおすすめスクールがある訳でなく、その人によって最適なスクールが違う。
- 学習スタイルが自分に合っているか?
- 低価格でコスパの良い学習料金か?
- 講師に質問しやすい環境か?
- 無料体験できるスクールか?
数あるスクールの中から、実際に受講してわかった事や現役プロならでは目線で厳選・比較したこちらの記事「現役プロ比較!短期 「WEBデザインスクール12校」おすすめランキング!」を参考に自分に合ったスクールを探そう↓
※当記事の掲載内容は執筆現在の個人の見解・調査によるもので、動作・サービス等を保証するものではありません。最新情報は各公式サイトでご確認頂き、購入・契約・データ作成等はご自身の判断・責任でお願いします。 免責事項
関連記事
jQuery「length」で要素の数を取得する方法
jQuery「after」で要素の直後にHTMLを挿入する
Swiper V8の使い方「レスポンシブ等の具体例」とオプション解説
jQuery「.siblings() 」ですべての兄弟要素を取得する方法
jQuery「removeAttr」で要素の属性を削除する方法
jQuery「removeClass」で指定のクラスを削除する方法
jQuery「attr」で属性値を取得/設定する方法
jQuery「.children() / .find()」で子要素を取得する方法
jQuery「.next() / .nextAll()」で直後の兄弟要素を取得する方法
jQueryでif文を使った条件分岐の書き方
サイト内検索
新着記事
- YouTubeより詳しく!まとめて学べる『WEBデザイン動画講座』
- Figmaの背景切り抜きプラグイン『Remove BG』のAPI Key取得方法と使い方
- WEBデザイン動画講座のご紹介【お得な割引アリ】
- WixでWEBデザイナーが「ポートフォリオサイト」を作ってみた!
- WEBデザインツールの比較!初心者におすすめは?Figma Photoshop Xd Illustrator
- CodeCampGATE(コードキャンプゲート)とは?転職・就職先と評判
- コードキャンプの「Webデザイン・Webデザイン副業コース」を卒業生が解説!
- テックアカデミー「はじめての副業コース」卒業生が内容を解説!
- PHPの独学!挫折しないおすすめ勉強方法!
- 16インチMacbook Proで使える100Wモバイルバッテリー Zendure SuperTankレビュー
- [体験談] CodeCamp(コードキャンプ)で挫折する理由!
- テックアカデミー「受講した感想・評判」学習内容の総まとめ!
- Photoshop 超リアルな商品写真の鏡面反射の作り方
- デイトラの評判は?詳細内容とメリット・デメリットを解説
- CSSだけ超簡単!画像トリミングできる 「object-fit」 の使い方
- コードキャンプ 「無料体験・カウンセリング」を受講してみた!予約方法や内容の体験談
- デジタルハリウッドSTUDIO by LIGの評判
- PhotoshopでWEBデザインする基本の設定とテクニック
- テックアイエス評判は?現役プロがTECH I.S.を徹底調査!
- WEBデザインの練習・勉強をしながら「お金までもらえる」超おすすめの学習方法!
カテゴリー
タグリスト