【问题标题】:Selected in select option (PHP)在选择选项中选择 (PHP)
【发布时间】:2021-12-06 05:10:17
【问题描述】:

我有一些 pb 和 PHP Laravel 中的一段代码。

<select id="month-select">
   <option value="0">select month</option>
      @for ($i =0; $i <=12; $i++)
   <option value="{{today()->subMonth($i)->format("Y-m")}}">{{today()->subMonth($i)-format("Y-m")}}</option>
      @endfor
</select>

我想添加一个选择并验证我选择的日期是否与参数中的日期相同($date)。

我想到了这样的事情:

<option value="{{today()->subMonth($i)->format("Y-m")}}"{{(today()->subMonth($i)->format("Y-m")) && (!is_null(today()->subMonth($i)->format("Y-m"))) == $date ? 'selected':''}}>{{today()->subMonth($i)->format("Y-m")}}</option>

它还没有优化,它不起作用。仅选择最后一个值。怎么了?

【问题讨论】:

  • 可能是'selected' 中缺少的空格。确保(在&lt;option&gt; 之外)您的条件实际上是正确的。 (将!is_null(... 与日期进行比较看起来很可疑)
  • 没有空间会导致类似&lt;option value="2021-10-19"selected... - 不确定浏览器如何处理丢失的空间
  • 你能显示$date的值吗?
  • $date=is_null($date)? Carbon::now():Carbon::createFromFormat('Y-m', $date);
  • 什么是"pb"?

标签: php html laravel select


【解决方案1】:
<select id="month-select">
    <option value="0">select month</option>
    @for ($i =0; $i <= 12; $i++)
       <option value="{{today()->subMonth($i)->format('Y-m')}}"
         {{today()->subMonth($i)->eq($date) ? 'selected': ''}}>
         {{today()->subMonth($i)->format("Y-m")}}
       </option>
   @endfor
</select>

【讨论】:

  • 解释一下。例如,想法/要点是什么?原始代码有什么问题,你改变了什么,为什么它会起作用?请通过editing (changing) your answer 回复,而不是在 cmets 中(without "Edit:"、"Update:" 或类似的 - 答案应该看起来像是今天写的)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-02
  • 1970-01-01
相关资源
最近更新 更多