【问题标题】:Best way to set value of selection in php在 php 中设置选择值的最佳方法
【发布时间】:2018-12-08 14:57:33
【问题描述】:

我正在寻找一种很好的方法来根据数据库中的数据使用 php 设置 html 动态的值。目前它看起来像这样:

<select class="form-control" name="displayNavigation" id="displayNavigation">
    @if(isset($site['displayNavigation']) and $site['displayNavigation'] == 1)
        <option value="1" selected>Yes</option>
        <option value="0">No</option>
    @elseif(isset($site['displayNavigation']) and $site['displayNavigation'] == 0)
        <option value="1">Yes</option>
        <option value="0" selected>No</option>
    @else
        <option value="1">Yes</option>
        <option value="0">No</option>
    @endif
</select>

我认为这不是为具有超过 10 个选项的选择列表设置值的正确方法。

还有其他方法吗?

【问题讨论】:

标签: php html laravel laravel-blade


【解决方案1】:

您的 if-else 语句需要修改。此代码将解决您的问题。

<select class="form-control" name="displayNavigation" id="displayNavigation">
    <option value="1" <?php if(isset($site['displayNavigation']) and $site['displayNavigation'] == 1){?>selected<?php } ?>>Yes</option>
    <option value="0" <?php if(isset($site['displayNavigation']) and $site['displayNavigation'] == 0){?>selected<?php } ?>>No</option>
</select>

【讨论】:

    【解决方案2】:

    如果对你有帮助,试试下面的代码

    <select class="form-control" name="displayNavigation" id="displayNavigation">   
        <option value="1" @if(isset($site['displayNavigation']) and $site['displayNavigation'] == 1) selected @endif>Yes</option>
        <option value="0" @if(isset($site['displayNavigation']) and $site['displayNavigation'] == 0) selected @endif>No</option>    
    </select>
    

    【讨论】:

      【解决方案3】:

      您可以简单地在&lt;option&gt; 中使用@if 条件并设置selected 属性

      <select class="form-control" name="displayNavigation" id="displayNavigation">
              <option value="1" @if($site['displayNavigation'] == 1) selected @endif>Yes</option>
              <option value="0" @if($site['displayNavigation'] == 0) selected @endif>No</option>
          @endif
      </select>
      

      【讨论】:

        【解决方案4】:

        使用null coalescing operator ??PHP 7 答案:

        <select class="form-control" name="displayNavigation" id="displayNavigation">
            <option value="1" <?php echo ($site['displayNavigation'] ?? 2) == 1 ? 'selected' : ''; ?>>Yes</option>
            <option value="0" <?php echo ($site['displayNavigation'] ?? 2) == 0 ? 'selected' : ''; ?>>No</option>
        </select>
        

        如果您 在 PHP 7 下,只需使用 isset() 执行相同操作:

        <select class="form-control" name="displayNavigation" id="displayNavigation">
            <option value="1" <?php echo isset($site['displayNavigation']) && $site['displayNavigation'] == 1 ? 'selected' : ''; ?>>Yes</option>
            <option value="0" <?php echo isset($site['displayNavigation']) && $site['displayNavigation'] == 0 ? 'selected' : ''; ?>>No</option>
        </select>
        

        【讨论】:

          猜你喜欢
          • 2012-08-10
          • 2016-09-24
          • 1970-01-01
          • 2021-03-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-07
          相关资源
          最近更新 更多