我有一个下拉框,它的名字被选中在一个页面上,并正确地保存在数据库中。但是,当我试图编辑页面时,除了下拉框(即"nothing selected“选项中)之外,我得到了所有的值,需要对我的代码做哪些更改?设计规范:
<option value="select"></option>
<?php foreach ($PName as $row ): ?>
<option value="<?=$row['pcode']?>" <?php echo set_select('PName', $row['pcode']); ?>>
<?=$row['PName']?></option>
<?php endforeach ?>控制器代码:
$query = $this->db->get('parmaster');
$data['PName']=$query->result_array();发布于 2018-10-25 08:41:12
尝试一下,这里的诀窍是,您必须传递set_select()的第一个论证-- select标记的名称,在您的例子中是'PName‘
<select id="PName" name="PName">
<?php
foreach ($PName as $row ):
?>
<option value="<?=$row['pcode']?>" <?php echo set_select('PName', $row['pcode'], False); ?>>
<?=$row['PName']?>
</option>
<?php endforeach ?>
</select>参见下面set_select()的代码点火器文档,以获得更多帮助select
发布于 2018-10-25 08:38:42
好吧,如果你想得到所有的值,不管它们的选择如何,我建议你有一个隐藏的字段:
<form ...>
<input type="hidden" name="pcodes" value="<?=implode(',',array_column($PName,'pcode'))?>"/>
<select>...发布于 2018-10-25 08:49:49
尝试:
<option value="">---</option>
<?php $selected = ($row['pcode'] == your selected data ) ? true : false; ?>
<?php foreach ($PName as $row ): ?>
<option value="<?=$row['pcode']?>" <?php set_select('PName', $row['pcode'], $selected); ?>>
<?=$row['PName']?>
</option>
<?php endforeach ?>https://stackoverflow.com/questions/52984721
复制相似问题