で現在の値を更新するユーザーは複数のフォーム要素(繰り返し選択ボックス)を動的に生成できるフォームを用意しています。私の質問に関連するフォームコードは次のとおりです。私はその後、(データベースエントリのための)シリアル化配列$ _POST [is_business]を投稿するこのフォームを使用動的フォーム要素。 JS
for ($i=0; $i < $number; $i++) {
<label for="is_business"> Is A Business?</label>
<select class="target form-control look2" id="is_business" name="is_business//note the array on name
<option value="" selected disabled="disabled">select option</option>
<option value="1">Yes</option>
<option value="0">No</option>
</select>
}
。ユーザーが生成する選択ボックスの数に関係なく、すべてが完璧に機能します。
私がしたいことは、以前の投稿された値をデータベースから選択して復元した状態で、各選択ボックスを動的フォームで設定して、シリアル化しないことです。私は、データベースから選択されたデータをチェックして、それがあまりにも正常に見える、シリアライズ文字列(すなわち配列)予想通りの印刷...
//unserialized array values selected from database. Count was set to three. Answers were all 'yes'
[is_business_db] => Array(
[0] => 1 //yes
[1] => 1 //yes
[2] => 1 //yes
)
問題:私はis_business_db配列の値を使用したいの各ようにダイナミックに生成された選択ボックス.... name = is_business [] ...は、ユーザーがページに戻ったときに正しい選択値を表示します。私は私のPHPループ(明らかに閉じる/ phpタグを開く)に生成された最初の選択ボックスのためにうまく動作する次のjavascriptを挿入しようとしました。
<script>
$('#is_business').val('<?php echo $is_business_status?>');
</script>
私も私のスクリプト...同じ問題の終わりに別々のループで同じJSを挿入する(実際には期待していない成功)試してみました...唯一の最初の選択ボックスが更新されます。
<?php
for ($i=0; $i < $number; $i++) //php loop
{
$is_business_status=$is_business_db[$i];
?>
<script>
$('#is_business').val('<?php echo $is_business_status?>');
</script>
<?php
}
?>
私は明らかにループを正しく実行していません。どんな助けもありがとう。