。大家好!我正在尝试在表单上有一个带有多个选项的选择输入。我有几个但由于某种原因,一个没有显示它的所有选项。我已经尝试删除#,更改顺序以试图找出哪一个具体导致错误,并以不同的格式编写选项,但都没有成功。如果你知道为什么会这样,或者我只是不知道一些相关的语法限制,请告诉我!非常感谢你!
HTML:
{{ Form::select('shelf',
array(
'' => 'Shelf',
'6' => 'SPF 1 x 6 x 6',
'8' => 'SPF 1 x 2 x 8',
'8' => 'SPF 1 x 4 x 8',
'1' => 'WRC 1 x 4 x 8 #1',
'2' => 'WRC 1 x 4 x 8 #2',
'1' => 'WRC 1 x 6 x 8 #1',
'2' => 'WRC 1 x 6 x 8 #2',
'8' => 'WRC 1 x 2 x 8',
'8' => 'WRC 2 x 2 x 8',
), null,
array('class' => 'shelf', 'id' => null))
}}
到目前为止,“Shelf”显示在select中作为标准选项,但是当单击时,其他唯一选项是SPF 1x6x6,WRC 2x2x8,WRC 1x6x8#1和WRC 1x6x8#2。任何和所有的帮助和指针将不胜感激!非常感谢!
答案 0 :(得分:1)
你有这个:
array(
'' => 'Shelf', // --> unique
'6' => 'SPF 1 x 6 x 6', // --> unique
'8' => 'SPF 1 x 2 x 8', // --> Not unique/8
'8' => 'SPF 1 x 4 x 8', // --> Not unique/8
'1' => 'WRC 1 x 4 x 8 #1', // --> Not unique/1
'2' => 'WRC 1 x 4 x 8 #2', // --> Not unique/2
'1' => 'WRC 1 x 6 x 8 #1', // Not unique/1 (This will replace all previous 1)
'2' => 'WRC 1 x 6 x 8 #2', // --> Not unique/1 (This will replace all previous 2)
'8' => 'WRC 1 x 2 x 8', --> Not unique/8,
'8' => 'WRC 2 x 2 x 8', --> Not unique/8, (This will replace all previous 8)
)
这是因为您的array
包含重复的密钥,第一个密钥被最后一个重复的密钥替换,意味着,如果您有两个'2'
,那么第二个'2'
}将替换第一个'2'
,使用唯一array keys/option value
。否则你会得到这个:
<select class="shelf" name="shelf">
<option value="" selected="selected">Shelf</option>
<option value="6">SPF 1 x 6 x 6</option>
<option value="8">WRC 2 x 2 x 8</option>
<option value="1">WRC 1 x 6 x 8 #1</option>
<option value="2">WRC 1 x 6 x 8 #2</option>
</select>