• ベストアンサー

SELECT要素について

質問というより、アンケート的ですが、SELECTの子要素のOPTIONのデフォルト状態を指定するような、default属性のような機能が欲しいと思うことはありませんか? たとえばこのような使い方です。 <select default="13"> … <option value="12">千葉県</option> <option value="13">東京都</option> <option value="14">神奈川県</option> … </select> サーバーサイドのスクリプトでoption要素を動的に出力するときにコードを書くのもらくだと思うのです。

質問者が選んだベストアンサー

  • ベストアンサー
  • tracer
  • ベストアンサー率41% (255/621)
回答No.3

たとえば、サーバーサイドでselectedを指定する場合、ループの中でいちいち値を判定するのがめんどくさいな。という意味でしょうかね。たしかに、親要素のdefault属性なりに値を設定することができたら、ループ判定いらなくなって楽ですよね。ただ、一度selectを出力するメソッドを組んでしまえば、特別な問題にはならないような。。 MVCとじゃなくて、処理速度の問題を言ってるの?

kosukejlampnet
質問者

お礼

ありがとうございました

kosukejlampnet
質問者

補足

例えがあまり良くなかったかもしれませんが、その通りです。MVCで記述するときというより、Ajaxを使った連動するSELECT要素などでは便利になると思うんですよね。「都道府県」→「市区町村」のようなものです。

その他の回答 (2)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

当然ご存知でしょうが、optionには、selected属性があります。  仕様書には明記されていませんが、selectrd要素は書くべきとされています。 17.6.1 選択済み選択肢 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/interact/forms.html#h-17.6.1 )  サーバーサイドでプログラムを組むときも事前に <select name="ken">   <option value=12" $selected_KEN[12]>東京   <option value=13" $selected_KEN[13]>神奈川   <option value=14" $selected_KEN[14]>埼玉 ・・・ </select> とかしておくので、不便はまったく感じません。

kosukejlampnet
質問者

お礼

そういう仕様を策定してもいいんじゃないか?という意味です。

  • _if_
  • ベストアンサー率52% (26/50)
回答No.1

一応、selectedにすればデフォルトで指定はできますね。 <select> … <option value="12">千葉県</option> <option value="13" selected="selected">東京都</option> <option value="14">神奈川県</option> … </select> サーバーサイドですることを考えると selectedid = 13 for(i:0->n) {  print : <option value="(i+1)";  if(selectedid)   print : selected="selected";  endif  print : > (arr[i]) </option>; } のようなイメージでしょうか。

kosukejlampnet
質問者

お礼

ありがとうございました

kosukejlampnet
質問者

補足

いえいえ、一応WEBプログラミングで飯食っているので、プログラミングの作法を聞いているわけではないんですよ。 提案とでも言ったらいいのでしょうか。 MVCでプログラミングするときにその方が楽だと思うんですよね。

関連するQ&A