--> -->

skimemo


Laravel-20190112 の変更点


#title(Collectiveのselectでoptionに属性を指定する)
Laravelの[[Collective:https://laravelcollective.com/docs/5.4/html]]で、以下のようなselect文を書きたかったのですが、思いもよらず苦労したのでメモです。
#code(html){{
<select name='taro'>
  <option value="" hidden>選択してください&lt;/option>
  <option value="1">おこし&lt;/option>
  <option value="2">につけ&lt;/option>
  <option value="3">たきび&lt;/option>
  <option value="4">だんご&lt;/option>
&lt;/select>
}}
- イメージ~
#htmlinsert(20190112_selectdemo.html)

ポイントは、2行目のoptionタグの&inlinecode{hidden};属性です。~
上記のCollectiveのマニュアルを見ても、属性の指定方法はほぼ書いてありません。~
文法としては以下の通りなので、5番目のオプションにhiddenを指定します。~
#ref(select.png)~
#code(php){{{
{{Form::select(
	'taro',
	[''=>'選択してください',1=>'おこし',2=>'につけ',3=>'たきび',4=>'だんご'],
	(isset($taro)?$taro:null),
	[],
	[''=>['hidden']]
)}}
}}}
6行目、&inlinecode{[''=>['hidden']]};と指定します。~
value=''のoptionの属性として、配列で['hidden']を指定しています。個々のoptionに対する属性を配列で指定するというのがミソです。属性は複数指定可能なのでよく考えれば当たり前ですが、普通に一次元の配列で試行錯誤してはまってしまいました。