質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
GET

GETとはHTTPが対応するリクエストメソッドの一つです。クライアントからサーバーへ送られたURLパラメータのデータを取得する時必要がある時に使われます。

checkbox

checkboxは、GUIのエレメントです。また、HTML<input>タグのtype属性で扱われる値を指します。

パラメータ

関数やプログラム実行時に与える設定値をパラメータと呼びます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

2812閲覧

jqueryのcheckbox使用していて、getパラメータにうまく入れられない

退会済みユーザー

退会済みユーザー

総合スコア0

GET

GETとはHTTPが対応するリクエストメソッドの一つです。クライアントからサーバーへ送られたURLパラメータのデータを取得する時必要がある時に使われます。

checkbox

checkboxは、GUIのエレメントです。また、HTML<input>タグのtype属性で扱われる値を指します。

パラメータ

関数やプログラム実行時に与える設定値をパラメータと呼びます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2020/09/19 06:12

編集2020/09/19 06:43

前提・実現したいこと

ファンクションに以下の内容で記述してgetリクエストを作成したいのですが、checkboxの部分が1つ目のチェックの項目しか入らず困っています。
例えば、3つチェックしたら、3つがgetリクエストの中にはいるようにしたいです。
よろしくお願いします。

該当のソースコード

function makeURL(){ var mainURL = "http://xxx"; var retURL = mainURL + "?"; retURL += "a=" + encodeURI( $('input:radio[name="reception"]:checked').val()) + "&"; retURL += "d=" + encodeURI( $(".inBirthday").val()) + "&"; retURL += "u=" + encodeURI( $('input:checkbox[class="area"]:checked').val()) + "&"; retURL += "x=" + encodeURI( $('input:checkbox[class="are"]:checked').val()) + "&"; retURL += "y=" + encodeURI( $('.tokugi').val()) + "&"; retURL += "z=" + encodeURI( $('.tokugi1').val()); return retURL; }

試したこと

eachやfunctionを使用して試したのですが、うまくいきませんでした。
誰か何か良い方法を教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kuma_kuma_

2020/09/19 06:25

まず retURL += "x=" + encodeURI( $('input:checkbox[class="are"]:checked').each(function() { aaa.push($(this).val()); $('#span3').text(aaa); 構文エラーになってない? }); がないよ? というか aaa.push($(this).val()); $('#span3').text(aaa); この処理なに?
退会済みユーザー

退会済みユーザー

2020/09/19 06:40

失礼しました。以下の形で行ってました。 function makeURL(){ var mainURL = "http://xxx"; var retURL = mainURL + "?"; retURL += "a=" + encodeURI( $('input:radio[name="reception"]:checked').val()) + "&"; retURL += "d=" + encodeURI( $(".inBirthday").val()) + "&"; retURL += "u=" + encodeURI( $('input:checkbox[class="area"]:checked').val()) + "&"; retURL += "x=" + encodeURI( $('input:checkbox[class="are"]:checked').val()) + “&”; retURL += "y=" + encodeURI( $('.tokugi').val()) + "&"; retURL += "z=" + encodeURI( $('.tokugi1').val()); return retURL; }
kuma_kuma_

2020/09/19 07:04

retURL += "u=" + encodeURI( $('input:checkbox[class="area"]:checked').val()) + "&"; retURL += "x=" + encodeURI( $('input:checkbox[class="are"]:checked').val()) + "&"; ?2箇所しかチェックボックス見てないよね?
guest

回答1

0

ベストアンサー

サーバーサイドの言語次第ですね
仮にu=1&u=2&u=3を渡すと、u=3しか受け取れません
PHPあたりだと

u[]=1&u[]=2&u[]=3のようにして、配列としてうけとったり
u=1+2+3のような受け取り方をすることで処理します。
どうしたいかをまず決めてください

  • sample

javascript

1<script> 2$(function(){ 3 $('#btn').on('click',function(){ 4 var u=$('[name=area]:checked').map(function(){return encodeURIComponent($(this).val());}).get().join("+"); 5 console.log("u="+u); 6 }); 7}); 8</script> 9 10<form> 11<input type="checkbox" name="area" value="あ"> 12<input type="checkbox" name="area" value="い"> 13<input type="checkbox" name="area" value="う"> 14<input type="button" value="make" id="btn"> 15</form>

投稿2020/09/19 07:28

編集2020/09/19 07:48
yambejp

総合スコア115010

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問