する質問をすることでしか得られない、回答やアドバイスがある。前提・実現したいこといつもお世話になってます。自作のWordpressテーマに検索フォームを設置しているのですが、チェックボックスの選択した値の受け渡しがうまくいかずここ数日悩んでいます。検索フォームでチェック項目を選択し、送信後は検索結果ページへ遷移します。検索結果ページでは前のページで選択したチェックボックスが選択されたままの状態で、フォームの下に検索した結果を表示するようにしています。前ページで選択したチェックボックスが値がうまく取得できていないのか、もしくは遷移先のPHPの記述が間違っているのか、受け渡しができず「checked="checked"」にならないという状況です。少々ややこしい仕様のためテンプレートのsearch.php等は使用していません。$_GETで受け渡す事も考えましたがチェックボックスのvalueが日本語なので$_POSTがやはり適切でしょうか?他に、いくつか試したことも書いておきます。初心者のためいくつかおかしい点はありますが、お力添えをいただければ幸いです。"チェックボックス\n";ここのechoが表示されません...。アラートは出てくるので送れてはいるようです。参考サイトのコードを変更しているので該当のソースコードに書いておきます。});attachmentクリップ0気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。件sort評価が高い順sort新着順sort古い順link+2実現したいことの処理を整理すると下記になるかと思います。1.検索フォームにて、検索したい項目をチェック2.送信ボタン押下後、Ajaxで検索処理用のphpに「チェックしたデータ」を飛ばす3.送信ボタン押下による画面遷移をキャンセル4.Ajaxで返って来たデータを処理して、同一ページに表示そもそも試されたことを見るに、Ajaxを使用するのであれば画面遷移は不要です。画面遷移しないのであれば、当然チェックボックスもそのままなので、チェック状態は維持されます。チェック状態が維持されないというのであれば、恐らくsubmitの画面遷移がキャンセルされずに起きています。上記ソースをコピペして試しましたが、formにid「form」が指定されておらず、$("#form").submit(function(){〜以降がちゃんと機能していませんでした。その他、$("[name='check[]']:checked")もセレクタの指定が間違っています。慣れないうちはブラウザの開発者ツールでJSのデバッグを一行ずつしながら確認していくことをお勧めします。jQueryで要素を取ってこれるかどうかはconsoleでも確認できるので、処理が上手く行かないと思ったら、要素がきちんと取れているかどうかの確認もしましょう。上記の場合、野菜であれば次のようにすればチェックされた要素が取れるはずです。input[type=checkbox]:checked').val();とすれば取れます。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。18:22ご回答ありがとうございます。試したことに関しては引用しているので、実際は[name='check[]']:checkedをHTMLに合わせて検証しています。説明不足ですみません。整理していただいたおかげでどのように処理をしたらいいのか理解できました。consoleやvar_dumpを使用してじっくり検証してみます。ありがとうございました。ご回答ありがとうございます。試したことに関しては引用しているので、実際は[name='check[]']:checkedをHTMLに合わせて検証しています。説明不足ですみません。整理していただいたおかげでどのように処理をしたらいいのか理解できました。consoleやvar_dumpを使用してじっくり検証してみます。ありがとうございました。09:01参考にしているところから単にコピペだけでは解決しませんよ。セレクタを合わせたりポストパラメーターを合わせたりしないといけません参考にしているところから単にコピペだけでは解決しませんよ。試したことに書いたソースコードはサイトの参考にしたコードを引用しているので、実際に検証している時にセレクタやポストパラメータを合わせて検証しています。(該当のソースコードに追記したような記述で)ここについては説明不足です。試したことに書いたソースコードはサイトの参考にしたコードを引用しているので、実際に検証している時にセレクタやポストパラメータを合わせて検証しています。ここについては説明不足です。キャンセル完了するlink+1ajax使った方がいい場面ですが、使わないとすればこうすればcheck状態は引き継げると思います。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。18:38ご回答ありがとうございます。ソースコードを試したのですが、チェックして送信しても受け渡しがうまくできずチェックされてない状態でした...。POSTがうまくいってないのかもしれないので、いろいろ試してみようと思います。ありがとうございました。ご回答ありがとうございます。ソースコードを試したのですが、チェックして送信しても受け渡しがうまくできずチェックされてない状態でした...。POSTがうまくいってないのかもしれないので、いろいろ試してみようと思います。ありがとうございました。10:46num79kill様actionはフォームを設置しているページと検索結果ページが別々なので、actionに検索結果ページのディレクトリ名を書いてます。このactionについてまだまだ理解できてない事が多いですね...。ご指摘ありがとうございます。actionはフォームを設置しているページと検索結果ページが別々なので、actionに検索結果ページのディレクトリ名を書いてます。このactionについてまだまだ理解できてない事が多いですね...。ご指摘ありがとうございます。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。18:48ご回答ありがとうございます。記述ミスの指摘と結果欄までソースコード書いていただきありがとうございました。試してみたらうまくいきました!それで実際には「野菜」「フルーツ」以外にもチェック項目がいくつかあって下記のコードを$checked=["vege"=>["トマト"=>"","ピーマン"=>"","ジャガイモ"=>""],"fruit"=>["りんご"=>"","オレンジ"=>"","バナナ"=>""],];↓$checked=[];これに変えても大丈夫なのでしょうか?ご回答ありがとうございます。記述ミスの指摘と結果欄までソースコード書いていただきありがとうございました。20:29質問に答えてくださってありがとうございます。