【问题标题】:selected = selected in Codeigniter PHPselected = 在 Codeigniter PHP 中选择
【发布时间】:2016-08-09 20:27:12
【问题描述】:

我正在尝试在<option> 标记中设置选择。

我的代码有什么问题?

我的代码是:

<select required  name="site-list"   class="form-control" style="margin: 9px 0px 0px 0px;">

<option value="">Select</option>  

<?php foreach($MLCSites as $site) { ?>

<option id="emp"  value="<?php echo $site->site_key;?>" <?php if($site->id == $site->site_key){ echo "selected";}   ?>><?php echo $site->site_name;?></option>
      <?php } ?>

 </select>

生成的 HTML:

<select required="" name="site-list" id="site-list" class="form-control" style="margin: 9px 0px 0px 0px;">        
<option value="">Select  Site</option>  
<option value="HT45-YT6T">bizRTC</option>
<option value="EB22-0309">RTCBiz</option>
</select>

与设置 selected = selected 的比较应该是什么??

表格:

【问题讨论】:

  • 我已经添加了 HTML 输出
  • 从您的 PHPMyAdmin 屏幕截图中,您认为$site-&gt;id 何时与$site-&gt;site_key 相同?
  • @Boldewyn 我可以在这里比较哪两个值?
  • @Rajan 嗯,不知道? What value do you want to be matched, when the &lt;option&gt; is selected?那一个。不属于同一个$site 变量的东西,很可能是&lt;option&gt; 值的来源。

标签: php html codeigniter


【解决方案1】:

你应该使用'selected=selected',为了避免错误,删除id="emp",因为id是一个值

foreach ($MLCSites as $site) : ?>

    <option value="<?= $site->site_key; ?>"
        <?php if ($site->id == $site->site_key) :
            echo "selected=selected";
        endif; ?>>
        <?= $site->site_name; ?>
    </option>
<?php endforeach; ?>

【讨论】:

  • 我复制了您的代码并粘贴了它,但是没有用,这可能是我的比较问题吗?
  • 我已经添加了 HTML 输出
  • @Rajan,你能显示网站->id,也许他们不对应
  • 我正在添加我的表格,请检查一下,你能知道我哪里错了
  • @Rajan,您正在比较 site->id 是 1 或 2 和 site->key,这是不同的东西。我认为你必须重新审视你的逻辑。
【解决方案2】:
.
.
.

if($site->id == $site->site_key){ echo ' selected="selected"';}

.
.
.

【讨论】:

  • 虽然这段代码可以回答这个问题,但最好包含一些上下文,解释它是如何工作的以及何时使用它。从长远来看,纯代码的答案没有用处。
  • @Bono,我刚刚将用户代码从 'selected' 更改为 'selected="selected"'。这只是一个语法问题。大多数时候简单性更好
猜你喜欢
  • 2012-09-28
  • 1970-01-01
  • 2017-05-09
  • 1970-01-01
  • 2012-12-23
  • 2015-08-23
  • 1970-01-01
  • 2015-06-08
  • 2016-12-01
相关资源
最近更新 更多