【问题标题】:Laravel - if condition for selectLaravel - 如果选择条件
【发布时间】:2020-04-23 08:46:08
【问题描述】:

我选择输入的 if 条件没有显示任何内容。这是我的create.blade.php

...
{!! Form::open(['action' => 'PostsController@store', 'method' => 'POST']) !!}
   <div class="column">
      <label for="title">Title</label></br>
      <input name="title" type="text" placeholder="" class="form-control">
   </div>
   </br>
   <div class="column">
      <label for="brand">Brand</label></br>
      <select class="form-control" id="soflow" name="brand">
         <option value="" disabled selected>Select your option</option>
         <option value="Volkswagen">Volkswagen</option>
         <option value="BMW">BMW</option>
         <option value="Audi">Audi</option>
      </select>
   </div>
   </br>
   @if(Input::has('brand') == 'Volkswagen')
      <div class="column">
         <label for="model">Model</label></br>
         <select class="form-control" id="soflow" name="model">
            <option value="" disabled selected>Select your option</option>
            <option value="Golf1">Golf 1</option>
            <option value="Golf2">Golf 2</option>
            <option value="Golf3">Golf 3</option>
        </select>
     </div>
   @endif
{!! Form::close() !!}
...

但是在此之后我的模型选择根本没有显示,如果选择输入(品牌)是大众汽车,我只需要显示特定模型。有什么解决办法吗?请帮忙。谢谢!

【问题讨论】:

  • 用户是选择品牌后还是选择型号后提交表单?
  • 正确的方法是javascript,因为你应该在客户端做。当品牌改变事件发生时,然后在 javascript 的帮助下做一些事情。但是,如果您想在服务器端执行此操作,那么当发生品牌更改事件时,您必须提交带有 get 方法的表单,例如 /some/link?brand=volkwagen 然后您可以检查 @if(request()->brand == 'volkswagen') // 你的代码 @endif.在您的解决方案中输入不包含品牌。
  • 在他们选择了模型之后。 Ozal 你是对的,它必须用 javascript 来完成。你有任何源代码或教程,有什么可以帮助我的吗?我对JS有点业余,我的项目只需要这个。

标签: php laravel if-statement select input


【解决方案1】:

我认为您的问题的解决方案可以链接 js https://appelsiini.net/projects/chained/ 。我不确定这是否适合你。让我知道它是否有效。

【讨论】:

  • 我在上面。完成后我会通知你
  • 我用更短的版本和 Ajax 尝试了一切,但它不起作用......我在我的 create.blade.php 中添加了脚本和脚本链接并安装所有东西都会抛出 npm 但仍然无法正常工作.. .
  • unpossiblepog.blogspot.com/2018/07/… 这就是解决方案!
【解决方案2】:
Input::has('brand')

如果有名称为“品牌”的输入字段,则应返回 T/F。行,

Input::has('brand') == 'Volkswagen'

在您的逻辑中,计算结果为

true == 'Volkswagen'

试试

@if(Input::get('brand')=='Volkswagen')

【讨论】:

    猜你喜欢
    • 2016-07-10
    • 1970-01-01
    • 2015-10-26
    • 2013-12-25
    • 2017-04-24
    • 1970-01-01
    • 2019-02-17
    • 2013-10-22
    • 2014-04-01
    相关资源
    最近更新 更多