【发布时间】:2018-08-28 13:35:17
【问题描述】:
我正在尝试修复用 codeigniter 编写的代码中的错误。我有一个选择器,我需要在其中选择不同的选项,但在选择不同的选项时,提交时该值仅作为第一个选项。
如下图所示,即使我选择“2nd Standard”、“3rd Standard”等,它总是自动选择“1st Standard”。
下面是对应的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();?>
【问题讨论】:
-
<select multiple name="class_id[]" -
onchange = submit()表单是如何提交的?阿贾克斯?看起来它可能正在重新加载页面,如果实际提交了表单,这会将您选择的索引重置为第一个。 -
@AbraCadaver 我不想选择多个选项,我需要显示选定的选项。
-
正如@Kisaragi 所说,这可能是 js 问题,也许提交功能在您的布局中不可用
标签: php codeigniter