【问题标题】:How to put drop down list into array using codeigniter如何使用codeigniter将下拉列表放入数组
【发布时间】:2012-08-22 09:17:21
【问题描述】:

我将 ion auth 用于 codeigniter,它工作得很好,只是我不知道如何以与文本字段相同的方式对下拉列表进行编码。

如果你想在视图中显示一个文本字段,你必须发出这个:

<?php echo form_input($first_name);?>

这是控制器下的代码:

$this->data['first_name'] = array(
    'name'      => 'first_name',
    'id'        => 'first_name',
    'type'      => 'text',
    'size'      => 32,
    'maxlength' => 32,
    'value' => $this->form_validation->set_value('first_name'),
);

但是如何将下拉列表的值放入数组中?

我试着把这段代码放在下面:

<?php
$options = array(
                  ''    => 'Select',
                  'Dr'  => 'Dr.',
                  'Mr'  => 'Mr.',
                  'Mrs' => 'Mrs.',
                  'Ms' => 'Ms.',
                  'Prof' => 'Prof.',
                  'Mr. & Mrs.' => 'Mr. & Mrs.',
                );
echo form_dropdown('title', $options, '$title');
?>

我在想,在视图下我应该将其编码为:echo form_dropdown($title); 与文本字段相同,但控制器下的代码是什么?

【问题讨论】:

  • 嗯。我把你的问题看了 3 遍,还是没明白你在问什么。
  • 你看到这段“And this is the code under controller:”后面的代码了吗?该代码用于文本字段。我希望控制器中的代码可以在下拉列表中使用。

标签: codeigniter


【解决方案1】:

首先在你的控制器中你可以这样做:

$options = array(
              '0'    => 'Select',
              'Dr'  => 'Dr.',
              'Mr'  => 'Mr.',
              'Mrs' => 'Mrs.',
              'Ms' => 'Ms.',
              'Prof' => 'Prof.',
              'Mr. & Mrs.' => 'Mr. & Mrs.',
            );
$data['options'] = $options
$this->load->view('your_view',$data);

在视图中:

echo form_dropdown('title', $options, set_value('title'));

此外,如果发生表单验证错误,请认为您希望保留下拉列表的值:

您只需要进行一些验证以保留下拉列表的值,例如:

$this->form_validation->set_rules('title','Titles','alpha');

如果未验证,尽管使用了 set_value,下拉菜单也不会保留值

【讨论】:

  • 谢谢。这样可行。我对“选择”值有一些问题。由于它已经定义,设置规则似乎将其验证为有效值。应该是如果用户选择“选择”值,它仍然会返回一个错误,如:Title field is required。
  • 更新了我的答案,所以现在如果选择“选择”会抛出错误,您必须在 Dr 和 Mrs 之间选择任何内容
  • 再次感谢。但我想知道为什么消息是“标题字段可能只包含字母字符”。而不是“需要标题字段”。在我在 set_rules 第三个参数中使用 required|xss_clean 而不是 alpha 之前,这当然不起作用。可能还有另一个参数。
猜你喜欢
  • 2014-03-16
  • 1970-01-01
  • 2014-08-27
  • 2015-08-05
  • 1970-01-01
  • 1970-01-01
  • 2018-06-06
  • 2017-12-21
  • 2020-06-27
相关资源
最近更新 更多