Codeigniter:生日选择器jquery插件的set_select()表单验证

时间:2016-01-28 01:39:35

标签: php jquery codeigniter

任何人都可以帮我弄清楚如何在birthday picker jquery plugin中使用set_select()表单助手吗?我想要的是,如果验证失败,则在页面加载后选定的月份,日期和年份停留。假设是需要在月份下拉选项中注入的代码是

 <?php echo set_select('birth[month]', 'here is the value but it is dynamically generated by the plugin','the condition for update function in the future');  ?>

我已经想通过将数据库值设置为隐藏输入并通过jquery获取值,根据数据库中使用for update函数的值选择下拉列表     $( 'select.birthMonth')找到( '[价值=' + MYVARIABLE + ']')丙( '选择',真);

唯一的问题是当表单验证失败时,birthdaypicker下拉列表会重置为默认值。我不能使用jquery注入

 <?php echo set_select('birth[month]', 'here is the value but it is dynamically generated by the plugin','the condition for update function in the future');  ?>

因为第二个参数应该是

set_select

由jquery生成。

注意:我有月,日和年的问题。如果我能算出月份,那么其他下拉就很容易了。天数也每月不同。

如果除此插件之外还有其他选择,请随时发表评论

1 个答案:

答案 0 :(得分:0)

set_select是生成选择的助手,它在渲染视图之前运行,并且您的jquery当然在之后初始化。

你不能在这里使用它,你必须让插件自己处理选择框。

根据插件的文档页面,您可以在初始化插件时设置“defaultDate”。在初始化插件时(javascript中),我的推荐是这样的:

'var date = '.$this->input->post("year").'-'.$this->input->post("month").'-'.$this->input->post("day").';
$("#demo").birthdayPicker({
   defaultDate: date,
});'

您可能需要在实际使用之前检查date的值,我很快就这样做了。