質問: $('#ge'+i).val();」は元々に指定していたidを元にvalueを使おうとしているのですがこれは何のための処理でしょうか。 > > > optionの値がそれぞれ違いますのでそれぞれの内容を取得しようとidを元に取得しておりました。 他により良い方法があれば、そちらを選びます。 optionの内容としては、 『◆PHPによってあらかじめHTMLの生成した内容 でnoの値が違います。 > > のvalueの「no=3」部分を取得したいがための処理でしょうか。(のvalueの値を元にgetValueの配列に格納して、配列から値を取り出して使うのには何か意味があるのでしょうか。現状のコードだけを見るとループカウンタのiを使って「no=3」部分を生成すれば良いような気がするのですが、それだと何か問題があるのでしょうか) > > > valueの「no=3」部分を取得したいがための処理で合っています。 私としては、こうした方がコード短くなるのかなと思ってやっておりました。 一応、意味としては、 元のデータ『◆PHPによってあらかじめHTMLの生成した内容』のnoの内容を残しておきたかったのです。 このnoは、名前1~60と連動しており、さらに抜けが存在することがあります。 例えば、 オプションのno1、no2、no3と続いて いきなりno30で割り振られたりします。 この場合forですと no1 名前1 no2 名前2 no30 名前3 になってしまいます。 以上ですが、↑についてfor文でもif文の追加でやれば出来ると思いますのでfor文でも構いません。 あくまでも結果が重視なので過程はあまり考えていません。 取得したい情報としては、 no year month day view です。 crsh様へ開発ツール該当のシンタックスエラー ----------------------- ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/ddba91bd027d5a4df1aaa4454d5def08.png) ↑ご覧通り、$optionsが消えてしまっています。 黄色になっているところ以外にも消えている個所があります・・ ※標準APIの方はシンタックスエラーがありませんでした。
回答: ``` getValue[i] = $('#ge'+i).val(); // 1回目の呼び出しでは、$('#ge'+i).val() ==> "./index.php?no=01" // 2回目の呼び出しでは、$('#ge'+i).val() ==> "./index.php?no=01&year=2018&month=10&day=01&view=month" // 3回目の呼び出しでは、$('#ge'+i).val() ==> "./index.php?no=01&year=2018&month=10&day=01&view=month&year=2018&month=11&day=01&view=month" // ... // なので、素朴な方法としては、次のコードを直後に追加すると解決するかもしれません。 getValue[i] = getValue[i].split("&")[0]; ```