CodeIgniter Select选项仅将第一个值传递给PHP

时间:2018-08-27 15:18:16

标签: php codeigniter

我正在尝试修复用codeigniter编写的代码中的错误。我有一个选择器,需要选择其他选项,但是在选择其他选项时,在提交时,该值仅作为第一个选项。

如下图所示,即使我选择了“第二标准”,“第三标准”等,它也会始终自动选择“第一标准”。

enter image description here 无论选择什么选项,都像下面这样,它始终仅显示“第一标准”。

enter image description here

下面是相应的php代码:

<?php echo form_open(base_url() . 'admin/section/', array('class' => 'form m-b'));?>
          <div class="row">
            <div class="col-sm-4">
              <div class="form-group">
                <label class="gi" for=""><?php echo get_phrase('class');?>:</label>
                <select class="form-control" onchange="submit();" name="class_id">
                <option value=""><?php echo get_phrase('select');?></option>
                <?php $cl = $this->db->get('class')->result_array();
                 foreach($cl as $row):
                ?>
                 <option value="<?php echo $row['class_id'];?>" <?php if($class == $row['class_id']) echo 'selected';?>><?php echo $row['name'];?></option>
              <?php endforeach;?>
                </select>
              </div>
            </div>
          </div>
        <?php echo form_close();?>

如何解决此问题?

编辑: 以下代码可在另一页中显示不同的选项:

<?php echo form_open(base_url() . 'admin/students/', array('class' => 'form m-b'));?>
          <div class="row">
            <div class="col-sm-4">
              <div class="form-group">
                <label class="gi" for=""><?php echo get_phrase('class');?>:</label>
                <select class="form-control" onchange="submit();" name="class_id">
                <option value=""><?php echo get_phrase('select');?></option>
                <?php $cl = $this->db->get('class')->result_array();
                 foreach($cl as $row):
                ?>
                 <option value="<?php echo $row['class_id'];?>" <?php if($id == $row['class_id']) echo 'selected';?>><?php echo $row['name'];?></option>
              <?php endforeach;?>
                </select>
              </div>
            </div>
          </div>
<?php echo form_close();?>

1 个答案:

答案 0 :(得分:0)

能否让我知道$ class的数据在哪里或您在哪里定义的。 在下面的代码中,我已经尝试过并且可以正常工作。

<?php echo form_open(base_url() . 'index.php/Welcome/fetchDataFromTable');?>
        <div class="row">
            <div class="col-sm-4">
                <div class="form-group">
                    <select class="form-control" onchange="submit();" name="select_dropdown">
                        <option value="">--Select--</option>
                        <?php 
                            $class = '';
                            $cl = array(
                                '1' => '1st Standard',
                                '2' => '2nd Standard',
                                '3' => '3rd Standard',
                                '4' => '4th Standard',
                                '5' => '5th Standard',
                            );
                            foreach($cl as $k => $v){
                            ?>
                                <option value="<?php echo $k; ?>" <?php if($class == $k) echo 'selected'; ?> >
                                    <?php echo $v; ?>
                                </option>
                            <?php 
                            }
                        ?>
                    </select>
                </div>
            </div>
      </div>
    <?php echo form_close();?>