【问题标题】:Check the first value of radio button (Codeigniter)检查单选按钮的第一个值(Codeigniter)
【发布时间】:2017-11-16 08:36:52
【问题描述】:

我正在将数据从数据库填充到 单选按钮 并希望 check 第一个值作为 default 但我不知道如何做。这是我到目前为止所做的编码。

查看

<?php if($designThemes != null){;  ?>

<?php foreach ($designThemes as $designTheme) { ?>

<?php
$designThemesValue = (set_value('theme_name') ? set_value('theme_name') : $designTheme['slug_url']);
$designThemesAttr = array(
    'name'  => 'designThemes',
    'value' => $designThemesValue,
);
?>
<div class="col-md-4 col-sm-4">
    <div class="radio custom-radio">
        <label>
            <?php echo form_radio($designThemesAttr); ?>
            <span class="fa fa-circle"></span> <?php echo $designTheme['theme_name'] ?>
        </label>
    </div>
</div>
<?php }}; ?>

如果我在$designThemesAttr = array() 中添加'checked' =&gt; TRUE,系统将检查单选按钮的最后一个值作为默认值,但我想检查第一个值

【问题讨论】:

  • "如果我在 $designThemesAttr = array() 中添加 'checked' => TRUE 系统将检查单选按钮的最后一个值作为默认值,但我想检查第一个值." - 当然,因为您将为 每个 单选按钮设置它 - 您只需要为第一个单选按钮执行此操作,因此您的问题归结为如何确定是否你在 foreach 循环的第一次迭代中,所以...google.com/search?q=foreach+loop+check+if+first+iteration
  • 该搜索的第一个命中 - stackoverflow.com/questions/1070244/…

标签: php codeigniter radio-button


【解决方案1】:

解决了您的问题,您可以通过条件语句将其设置为替换您的代码

   <?php if($designThemes != null){;  ?>

<?php $i=1;foreach ($designThemes as $designTheme) { ?>

<?php
$designThemesValue = (set_value('theme_name') ? set_value('theme_name') : $designTheme['slug_url']);
$designThemesAttr = array(
    'name'  => 'designThemes',
    'value' => $designThemesValue,
);
if($i==1){
    $designThemesAttr['checked'] = TRUE;
}
?>
<div class="col-md-4 col-sm-4">
    <div class="radio custom-radio">
        <label>
            <?php echo form_radio($designThemesAttr); ?>
            <span class="fa fa-circle"></span> <?php echo $designTheme['theme_name'] ?>
        </label>
    </div>
</div>
<?php $i++; }}; ?>

【讨论】:

    【解决方案2】:

    'checked' =&gt; TRUE 在 $designThemesAttr = array() 中系统将检查单选按钮的最后一个值作为默认值。这是正确的,因为您在 for 循环中执行此操作,并且组内只有一个收音机保持选中状态。所以最后一个显示已选中。

    所以维护一个变量来计算迭代次数:

    $count = 1;

    if( $count = 1; )
    {
       // use 'checked' => TRUE here
       $count++;  // The value is incremented so that the if condition can't run again. This will add 'checked' => TRUE to first radio only.
    }
    

    【讨论】:

      猜你喜欢
      • 2011-04-28
      • 1970-01-01
      • 2016-10-10
      • 1970-01-01
      • 2011-07-15
      • 2022-07-20
      • 2020-01-20
      • 2015-05-20
      • 2014-04-13
      相关资源
      最近更新 更多