php - Set_value() 数组字段选择选项 Codeigniter 不起作用
问题描述
我尝试创建动态服务器端选择输入,在我提交后, set_value('nilai[]') 没有显示任何值。
下面是我的控制器:
$this->load->library('form_validation');
$this->form_validation->set_rules('nilai[]', 'Nilai Pantuhir', 'required');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('pantuhir/pantuhir_form');
} else {
$list_pantuhir = $this->input->post('nilai');
foreach ($list_pantuhir as $key => $value) {
echo $value."<br />";
}
}
以下是我的看法:
<div class="form-group <?php if(form_error('nilai[]')){echo 'has-error';} ?>">
<select class="form-control" name="nilai[]">
<option value="">- Choose-</option>
<option value="<?php echo $rowPerson['intUserId'].'-'.'A';?>" <?php if(set_value('nilai[]') == $rowPerson['intUserId'].'-'.'A') { echo 'selected'; } ?>>A</option>
<option value="<?php echo $rowPerson['intUserId'].'-'.'B';?>" <?php if(set_value('nilai[]') == $rowPerson['intUserId'].'-'.'B') { echo 'selected'; } ?>>B</option>
</select>
<?php echo form_error('nilai[]'); ?>
</div>
如果验证不正确,我想显示 set_value 并在选项字段中被选中。
解决方案
希望对你有帮助 :
使用set_select
而不是set_value
. 如果您使用菜单,此功能允许您在表单验证抛出任何错误后显示被选择的菜单项
它应该是这样的:
<div class="form-group <?php if(form_error('nilai[]')){echo 'has-error';} ?>">
<select name="nilai[]" >
<option value="" >---Choose----</option>
<option
value="<?=$rowPerson['intUserId'].'-A';?>"
<?=set_select('nilai[]', $rowPerson['intUserId'].'-A');?>
>A</option>
<option
value="<?php echo $rowPerson['intUserId'].'-B';?>"
<?=set_select('nilai[]', $rowPerson['intUserId'].'-B');?>
>B</option>
</select>
<?php echo form_error('nilai[]'); ?>
</div>
更多信息:https ://www.codeigniter.com/user_guide/helpers/form_helper.html#set_select
推荐阅读
- elixir - 允许 Ecto 查询在测试环境中立即运行?
- javascript - LocalStorage addClass 多值
- java - JDateChooser 无法解析为类型
- node.js - 如何使用 fs.readdir 获取标准文件夹列表
- java - $PATH 中没有 java
- php - QueryException: 一般错误: 1 no such table: {table_name} (SQL: select * from "{table_name}")
- python - 如何以编程方式将方法添加到类调用中?
- makefile - “缺少分隔符”,但一切似乎都还好
- java - 在不关闭 System.in 的情况下关闭 Scanner,以便其他方法可以访问 System.in
- python - 如何检查字符串是否在新行的开头?