du2229 2014-11-18 21:01
浏览 20
已采纳

Laravel - 从返回的数组输入设置复选框的选中属性

I'm having a problem where I'm trying to handle a

return Redirect::to('page')->withInput();

call while using an array of checkboxes. Basically, if my validator fails, I want to return back, display some errors and repopulate inputs with their value. Here are the inputs I'm having difficulty with.

<div class="row">
  <div class="col-xs-12">
    <label class="checkbox-inline">
      <input type="checkbox" name="rms_cs[]" value="Marshall and Swift Property Valuation" {{ (Input::old("rms_cs[]") == "Marshall and Swift Property Valuation") ? "checked":"" }}> Marshall &amp; Swift Property Valuation
    </label>
  </div>
</div>
<div class="row">
  <div class="col-xs-12">
    <label class="checkbox-inline">
      <input type="checkbox" name="rms_cs[]" value="Premises Liability Survey" {{ (Input::old("rms_cs[]") == "Premises Liability Survey") ? "checked":"" }}> Premises Liability Survey
    </label>
  </div>
</div>

So, basically, I have multiple checkboxes, each with name="rms_cs[]" and value="something". How would I go about setting the checked property to checked when Input is returned?

Note: I have lots of text boxes and radio buttons that work fine, so I know that the issue doesn't lie with anything besides Input::old("rms_cs[]"). I think the issue is that rms_cs[] is an indexed array; ie rms_cs[0] = "Something" and not rms_cs["Premises Liability Survey"] = "Something"

If anyone could shed some light on this/provide a better way to handle something like this, that would be great.

  • 写回答

2条回答 默认 最新

  • duanmu2015 2014-11-19 14:20
    关注

    So, I ended up figuring this out. I changed

    name="rms_ssp[]"
    

    on each checkbox to:

    name="rms_ssp[epis]"
    name="rms_ssp[mrp]"
    

    etc, so the array was no longer indexed. Then, I made a variable out of the old input:

    <?php $rms_ssp = Input::old('rms_ssp'); ?>
    

    And added this check in each of the checkboxes:

    {{ (isset($rms_ssp['epis'])) ? "checked":"" }}
    {{ (isset($rms_ssp['mrp'])) ? "checked":"" }}
    

    And that did the trick.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测