2

以前に選択した値を表示する必要がある検索を絞り込むなど、動的に選択されoptionたコンボ ボックスを作成する必要があることがよくあります。select私は通常、オプションを調べて(DBから取得する場合はforループで)、次のようにチェックしますif statement

$selected = 'Option 2';
foreach ($options as $value) {
    echo '<option ';
    echo ($selected == $value)? 'selected>' : '>';
    echo $value . '</option>';
}

コンボボックスごとにこれを行うのは非常に面倒で、コードの行数が増えます。指定された値に基づいてオプションを選択する、より迅速で効率的な方法はありますか。たとえば$selected、すべてのオプションに対してifステートメントを実行するのではなく、「オプションを選択する」のようなものですか?

4

3 に答える 3

0

いいえ if() ケース!

    $selected = 'Option 2';
    $options = array('Option 1','Option 2','Option 3');

    $str = "> ".implode($options,",> ");
    $replaced_str = str_replace("> ".$selected, " selected='selected' >".$selected,$str);
    $new_options = explode(',',$replaced_str);
    foreach ($new_options as $value) {
        echo '<option'.$value.'</option>'."\n";
    }
于 2013-08-13T13:41:40.340 に答える