0

私はコードのこのセクションを持っています:

        <select id="frm_type" name="typeId">
                <?php foreach($product_types as $product) : ?>
                    <?php if ($product['id'] == $product_details['typeId']) $selected = " SELECTED"; else $selected = ""; ?>
                    <option value="<?=$product['id'];?>"<?=$selected;?>><?=$product['partNumber'];?> (<?=$product['title'];?>)</option>
                <?php endforeach; ?>
        </select>

これは、ドロップリスト/オプションボックスにDBからのデータを入力するだけです。これは、アイテムが選択されて投稿される作成用のフォームでは正常に機能しますが、編集ページでも同じ機能が必要です。

編集ページには現在選択されている値が表示され、変更されていない場合は、投稿時にこの入力から何も投稿されません。

上記の$selected...を使用したビットは、選択されたオプションを示しています(これは実行されます)。選択されたデータは送信されません。

誰かが何か提案をすることができますか?

4

2 に答える 2

1

試す

<select id="frm_type" name="typeId">
<?php foreach($product_types as $product) : 
        $selected = ($product['id'] === $product_details['typeId'])
                    ? "selected='selected'"
                    : ""; 
?>
      <option value="<?=$product['id']?>" <?=$selected?> > 
         <?=$product['partNumber']?> (<?=$product['title']?>)
      </option>
<?php endforeach; ?>
</select>
于 2012-08-08T13:25:33.800 に答える
0

試す

<select id="frm_type" name="typeId" disabled="disabled">
                <?php foreach($product_types as $product) : ?>
                    <?php if ($product['id'] == $product_details['typeId']) $selected = " selected='selected'"; else $selected = ""; ?>
                    <option value="<?=$product['id'];?>"<?=$selected;?>><?=$product['partNumber'];?> (<?=$product['title'];?>)</option>
                <?php endforeach; ?>
        </select>
于 2012-08-08T13:21:24.917 に答える