jquery - Codeigniter set_select 不适用于表单验证
问题描述
我正在使用 codeigniter 表单验证来验证选择选项是否具有值。我在将所选选项的值传递给控制器时遇到问题,因此我创建了一个隐藏输入并使用 jquery 传递值 on_change。设置选择可以重新填充选择选项,但它不会将值重新传递给我的隐藏输入。我是新手,不知道最好的路线是什么?有没有办法在表单验证失败时将值从我的选择选项重新传递到隐藏输入?
这是我的看法:
$('#transfer_from_selector').on('change', function () {
var val = this.value;
$('#transfer_from_input').val(this.value);
});
<select class="form-control" id="transfer_from_selector" name="transfer_from_selector">
<option value="" disabled="" selected="selected" class="">Transfer From</option>
<option value="1" <?php echo set_select('transfer_from_selector', 1); ?>class="">Richfield</option>
<option value="2" <?php echo set_select('transfer_from_selector', 2); ?>class="">Eagan</option>
</select>
<input type="hidden" id="transfer_from_input" name="transfer_from_input" value="">
这是我的控制器:
$this->form_validation->set_rules('transfer_from_input', 'Transfer From', 'required|differs[transfer_to_input]');
$data = array(
'transfer_from' => $this->input->post('transfer_from_input'),
);
解决方案
无需编写隐藏字段。使用带有名称的 aaray 选择选项。试试这个我希望它会对你有所帮助。
<select class="form-control" id="transfer_from_selector" name="transfer_from_selector[]">
<option value="" disabled="" selected="selected" class="">Transfer From</option>
<option value="1" <?php echo set_select('transfer_from_selector', 1); ?>class="">Richfield</option>
<option value="2" <?php echo set_select('transfer_from_selector', 2); ?>class="">Eagan</option>
</select>
推荐阅读
- python - 不同 FMU 的不同步长
- javascript - 在 React 中关闭菜单 onClick
- r - R:将 Excel-Sheet 导入为字符串值
- qt - 如何使用 Qt 录制屏幕?
- android - Android - 裁剪图像库
- html - 为什么引导程序 4 行不能扩展到完整的可用宽度?
- python - 对字符串描述的区间列表进行排序
- google-apps-script - Google Apps Scripts - 如何使用 post 方法将数据从 scopt 发送到页面?
- python - 在数据框中填充空值
- zoho - 如何在当前用户使用 zoho crm 登录的情况下创建活动