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

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

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

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

749閲覧

可変値が含まれるid名からselectされた値を取得する

momolength

総合スコア62

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/09/28 02:27

編集2021/09/28 02:33

Cakephp2
Php7系
以下のようにfor文でselectを出力しています。
selectのid値は自動で付与されているようで、「FruitVal1」と出力されています。
これが5つ、FruitVal1、FruitVal2、FruitVal3、FruitVal4、FruitVal5と出力されています。

<?php echo $this->Form->create('Fruit', ['novalidate' => true]); ?> <?php for ($c = 1; $c <= 5; $c++) { ?> <?php $list_num_apple = ['a' => 1, 'b' => 2,'c' => 3,'d' => 4,]; echo $this->Form->select( "val_{$c}", $list_num_apple, ); ?>
}

後ろの値が変化しているため、単純日getelementbyidしようとしても取れません。

この場合どうすれば、selectで選んだ値が取得できますか?
少し書いてみましたが、うまくいかず...。

// var i = 1; // while ($('#FruitVal' + i) < 5) { // var val = $('#FruitVal' + i).val(); // console.log(val) // i++; // }

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

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

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

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

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

yambejp

2021/09/28 02:33

PHP側で「ToiawaseSubjects」が指定されているようには見えませんが
momolength

2021/09/28 02:34

失礼しました。貼り付け時のミスです。
yambejp

2021/09/28 02:37

どのタイミングでvalを表示したいのでしょうか? selectをチェンジするたびですか? なにかトリガー用のボタンがあるのでしょうか?
momolength

2021/09/28 02:43 編集

一旦console.logで取得するところまで考えてました。 >selectをチェンジするたびですか? こっちですね。 やりたいこととしては、selectをチェンジするたびに、隣のselectの中身を変えたいためです。 まずは、今selectで何を選んでいるか、をjsで取得したいです。 すいません、よろしくお願いします。
guest

回答1

0

ベストアンサー

ざっくりこんな感じで

javascript

1<script> 2$(function(){ 3 $('select').on('change',function(){ 4 console.log($('select[id]').filter(function(){ 5 return /^FruitVal[1-3]$/.test($(this).attr('id')); 6 }).map(function(){ 7 return $(this).val(); 8 }).get()); 9 }); 10}); 11</script> 12<select id="FruitVal1"> 13<option value="1">1</option> 14<option value="2">2</option> 15<option value="3">3</option> 16</select> 17<select id="FruitVal2"> 18<option value="1">1</option> 19<option value="2">2</option> 20<option value="3">3</option> 21</select> 22<select id="FruitVal3"> 23<option value="1">1</option> 24<option value="2">2</option> 25<option value="3">3</option> 26</select> 27<select id="FruitValX"> 28<option value="1">1</option> 29<option value="2">2</option> 30<option value="3">3</option> 31</select>

投稿2021/09/28 02:45

yambejp

総合スコア115010

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

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

yambejp

2021/09/28 02:46

1-5に読み替えて処理してください
momolength

2021/09/28 02:51

ありがとうございます。 正直何やってるかわからないので、じっくり読み解いていきます。 セレクトがチェンジされたら、指定のidのセレクトを探して取得、そのあとvalをreturnしているってことですか?
momolength

2021/09/28 03:29

空が返ってきますね...。 申し訳ありませんが、簡単に解説していただけないですか?
yambejp

2021/09/28 04:06

まずphpとjsの問題点を切り分けてください phpでHTMLを出力するならまずはHTMLを確定してください その上でhtmlに対してjsを適用できるか確認する流れです HTMLの部分は私の例示したもので間違いないですか? であれば空が返ってくることはありません
momolength

2021/09/28 05:47

大変失礼しました。 やっと理解できました。 console.log($('select[id]').filter(function(){ return /^FruitVal[1-3]$/.test($(this).attr('id')); ここのselectの部分の記述が貼り付けミスにより間違っていました。 ご邸内にありがとうございました。とても勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問