勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

配列をjQueryで取り扱う

      2014/07/03

やりたかった事は、

・テキストボックスが複数ある。そのページに送信するクエリによってテキストボックスの数が変わる。
・テキストボックスのnameはaaaみたいに配列で渡したい
・テキストボックスの中身をjQueryで取得したい

というもの。JSやjQueryで配列を取り扱うことが少ないので
忘れないようにメモ。

■サンプル
http://sample.taitan916.info/eq/

■ソース
<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(function(){
$('#result_button').click(function(){ //ボタンを押したらイベント
$('#result_id').html(''); //divのところを初期化
var i = 0;
var radio_array = new Array(); //配列を宣言

//radio_valueの数だけループ
$("[name='radio_value']").each(function() {

//radio_valueを順番にradio_arrayに代入していく
radio_array[i] = $("[name='radio_value']").eq(i).val();
i++;
});

//iが配列の数未満の場合にループ
for(i=0; i<radio_array.length; i++){

//divのところに書き込んでいく
$('#result_id').append(radio_array[i]+'<br>');
}
});
})
</script>
<title>配列をjQueryで取り扱う</title>
</head>
<body>
<h1>配列をjQueryで取り扱う</h1>
<form>
項目1:<input type="text" name="radio_value" value="中身1"><br />
項目2:<input type="text" name="radio_value" value="あああ2"><br />
項目3:<input type="text" name="radio_value
" value="テスト3"><br />
項目4:<input type="text" name="radio_value" value="テスト四"><br />
項目5:<input type="text" name="radio_value
" value="てすと5"><br />
<input type="button" value="result" id="result_button">
</form>
<div id="result_id"></div>
</body>
</html>

■使えそうなもの
append()
http://semooh.jp/jquery/api/manipulation/append/content/

コンテンツを追加できる。
.html('')とかで初期化というか空にしてから追加していくと
使いやすそう。

-------

eq()
http://semooh.jp/jquery/api/core/eq/position/

指定したポジションの要素を取り出す。
ソースだとradio_valueの位置をループで回して
1つずつ取り出して配列に入れていっている。

-------

each
http://semooh.jp/jquery/api/core/each/callback/

合致した要素だけループを回す? ということなんかな。
name=radio_valueの数だけループを回してる。

-------

以上。

 - jQuery

  関連記事

jquery_logo
lightboxで画像拡大時に文字タイトルとリンクをつける

lightboxで画像をクリックして拡大した際に、文字タイトルとその文字にリンク ...

jquery_logo
jquery.cookie.jsでcookieを取り扱う

機能拡張の依頼があってそのページを見たら jquery.cookie.jsが読み ...

jquery_logo
AjaxFileUploadで処理は実行できてもエラーが返る

AjaxFileUploadでPHPに通信し、サーバー側のPHPで処理は正常に実 ...

javascript_logo_unofficial-300x300
他サイトのRSS情報を画像付きで表示させる

WordPressでAというサイトを作成し、AのRSS情報をBというサイトでアイ ...

images
PHPとajaxでチャットの作成

■ソース ・index.php <? error_reporting(E_ ...

jquery_logo
Ajaxで画像のアップロード(jquery.upload)

業務中に画像の選択後、アップロードボタンを押して画像のアップ、 その後フォームの ...

jquery_logo
jQuery Alert Dialogsで表示後に処理したい

最近携わったサイトの中でJavaScript内に「jAlert」とかいう記述があ ...

jquery_logo
Ajaxで負荷軽減

業務中、専用のページでfile_get_contents的なものは あまり使わな ...

jquery_logo
htmlタグが入った内容の文字を丸める

phpである文字列が○文字以上だった際、 省略してお尻に「……」をつけたいという ...

jquery_logo
jQueryで画像を遅延ロードする(jquery.lazyload.js)

画像を遅延ロードさせたい時にはlazyloadが便利。 ■ダウンロード http ...