Laravel - 输入的一些选项不显示

时间:2014-06-05 21:51:37

标签: php input laravel-4

。大家好!我正在尝试在表单上有一个带有多个选项的选择输入。我有几个但由于某种原因,一个没有显示它的所有选项。我已经尝试删除#,更改顺序以试图找出哪一个具体导致错误,并以不同的格式编写选项,但都没有成功。如果你知道为什么会这样,或者我只是不知道一些相关的语法限制,请告诉我!非常感谢你!

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。任何和所有的帮助和指针将不胜感激!非常感谢!

1 个答案:

答案 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>