• 締切済み

セレクトボックスの値を保持したい。

お世話になります。 カスタムフィールドで設定した値を取り込み、セレクトで選択出来るようにしています。 ページ遷移後に選択した値を保持した状態にしたいのですが、手法が分かりません。 <?php $my_tax = 'area'; $parent_terms = get_terms( $my_tax, array('hide_empty' => false, 'parent' => 0) ); ?> <select name="area"> <option value="">エリア</option> <?php for($i = 0; $i < count($parent_terms); $i++){ ?> <?php $term = $parent_terms[$i]; ?> <option value="<?php echo $term->term_id; ?>"><?php echo $term->name; ?></option> <?php } ?> </select> こちらをどう変更したら宜しいでしょうか?

みんなの回答

回答No.1

生成後のHTMLが <option vale="xxx1">~1</option> <option vale="xxx2">~2</option> ......... の羅列でなく、前ページの選択値のみだけ <option value="xxx2" selected>~2</option> になれはよいのですから <option value="<?php echo $term->term_id; ?>"><?php echo $term->name; ?></option> の行を <option value="<?php echo $term->term_id; ?>"<?php if ( $term->slug == 前ページで選択した値を入れている変数名 ) echo ' selected'; ?>><?php echo $term->name; ?></option> にすればよいのではないでしょうか? なお 、{前ページの選択した値}を入れている変数名   のところは、実際に何を使えばよいかというのは、ここだけでは分からないですが 多分 $_GET['area'] とか、 $_POST['area'] を  XSS対策でエスケープした別の変数事前に保持されてるでしょうから それを使えばよいことになります。

関連するQ&A