【发布时间】:2013-11-23 04:10:26
【问题描述】:
在使用 Bootstrap + Laravel4 的网站中。 在表单中,有一些图像可供用户单击以选择它。 它是通过一个不错的 JQuery 插件完成的:http://rvera.github.io/image-picker/
现在它是用 html 编写的,并且正在运行:
<label><span><i class="icon-check"></i></span> Click on a room to select it</label>
<select name="rooms[]" multiple="multiple" class="image-picker show-html">
<option value=""></option>
<option name="1room" data-img-src="assets/img/rooms/singleRoom.jpg" value="Single room">Single room</option>
<option name="2room" data-img-src="assets/img/rooms/2room.jpg" value="Double room">Double room</option>
</select>
我不需要在 Laravel4 中重写所有这些标记。 但我需要一件事:我必须添加到 Input::old('inputName') 以在验证错误的情况下保留这些值。 这是非常重要的。 我试过这样做: - 将单个选项的值设置为:{{ 'Single room', Input::old('1room') }} - 将选择的值设置为 {{ Input::old('rooms[]') }} 但他们都没有工作。 它没有给出错误,但不保留原始值。
有人知道我该怎么做吗?
非常感谢!
编辑:
在页面顶部打印出Input::old()的值,房间的值实际上是保留的:
array (size=8)
'rooms' =>
array (size=2)
0 => string 'Single room' (length=11)
1 => string 'Double room' (length=11)
'arrival' => string '13/11/2013' (length=10)
'outgoing' => string '11/11/2013' (length=10)
'name' => string 'name' (length=4)
'email' => string 'email' (length=5)
'phone' => string '9999999999' (length=10)
'message' => string 'gjhgjghj' (length=8)
'submit' => string '' (length=0)
关键是如何在表单中显示它们。确切地说是如何根据该数组中包含的值选择一些图像。
EDIT2:
这是如何理解选择的哪些选项被选中,感谢@Samuraisoulification:
<?php
if (isset(Input::old()['rooms']))
{
for($i = 0 , $input = Input::old()['rooms'] , $c = count($input) ; $i < $c ; $i++)
{
if($input[$i] == "Single room")
{
echo "Single room selected";
}
if($input[$i] == "Double room")
{
echo "Double room selected";
}
}
}
?>
【问题讨论】:
-
也许 JQuery 插件在发送数据时发生了一些变化?还有为什么是 rooms[] ?不仅仅是房间
-
实际上不记得为什么有房间[] ..我用“房间”更改它并且html在任何情况下都有效。但无论如何 {{ Input::old('rooms') }} 不起作用
-
尝试只输出 Input::old() 得到的内容。就像在页面顶部一样,尝试一下。你有什么收获吗?
-
我认为验证包含它的内容是个好主意!但我该怎么做呢?我尝试在控制器中写这个: $old = Input::old(); dd($旧);但不起作用,它给出了一个空数组。并且 id 不正确,因为其他 input::old 已正确插入表单中,仅适用于不起作用的“房间”,因此它必须包含某些内容,是我没有正确检查 Input::old() .我怎样才能正确检查这个值?
-
如果目前它不是一个实时站点,我会在页面顶部输入旧输入:{{ Input::old() }}
看看会发生什么。
标签: jquery twitter-bootstrap jquery-plugins laravel laravel-4