【问题标题】:Remembering CodeIgniter form_dropdown fields记住 CodeIgniter form_dropdown 字段
【发布时间】:2011-04-23 14:51:04
【问题描述】:

这行得通...

form_dropdown('location', $location_options, $this->input->post('location'));

但是当我尝试使用数组来添加额外的属性时,它会停止工作......这是为什么?

$attributes = array(
    'name' => 'location',
    'id' => 'location'
);

form_dropdown($attributes, $location_options, $this->input->post('location'));

下拉列表的名称包含在属性数组中,所以我看不出这与第一个示例有何不同。每当表单被发布回传时,它都会重置为开始。

谁能帮我解决这个问题? 谢谢

【问题讨论】:

    标签: validation forms codeigniter select


    【解决方案1】:

    只是语法错误。

    请看文档:http://codeigniter.com/user_guide/helpers/form_helper.html

    form_dropdown('location', $location_options, $this->input->post('location'), "id='location'");
    

    您的代码应该类似于上面的内容。顺便说一句:如果您使用的是 form_validation 库,则可以使用 set_value 而不是 $this->input->post ...

    【讨论】:

    • 好的,看起来语法错误...没有解释如何传递属性数组并仍然将值保留在“form_input”字段中,但不能对“form_dropdown”执行相同操作" 字段而不会丢失帖子数据。
    • 您将属性作为字符串添加为 form_dropdown() 的最后一个参数。
    • 重要提示:要让 set_value() 在使用表单验证库时起作用,该字段(本例中为“位置”)必须是验证规则的一部分。
    【解决方案2】:
        $attributes = ' id="bar" class="foo" onChange="some_function();"';
        $location_options = array(
           'IN' =>'India',
           'US' =>'America'
        );
    
     form_dropdown('location', $location_options, $this->input->post('location'),$attributes);
    

    参数:

    1. 第一个参数将分配给字段的名称,
    2. 第二个会得到你的选择,
    3. 第三个是默认值,
    4. 第四个是添加额外的属性,如 javascript 函数、id、类...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-13
      • 1970-01-01
      • 2012-05-13
      • 1970-01-01
      相关资源
      最近更新 更多