【问题标题】:Custom dropdown with GroceryCrud?使用 GroceryCrud 自定义下拉菜单?
【发布时间】:2014-07-15 02:49:45
【问题描述】:

如何使用 GroceryCrud 添加自定义下拉菜单?我有以下mysql表:

CREATE TABLE IF NOT EXISTS `clients` (
  `clientId` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `clientName` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  `cif` varchar(10) COLLATE utf8_unicode_ci NOT NULL,
  `address` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL,
  `type` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`clientId`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

以及下面的代码来展示功能:

$crud = new grocery_CRUD();
$crud->set_theme('datatables');
$crud->set_table('clients');
$crud->set_subject($this->lang->line('tpv_clients'));
$crud->display_as('clientName', $this->lang->line('tpv_client_name'));
$crud->display_as('cif', $this->lang->line('tpv_client_cif'));
$crud->display_as('address', $this->lang->line('tpv_client_address'));
$crud->display_as('type', $this->lang->line('tpv_client_type'));
$crud->columns('clientName','address','type');
$crud->required_fields('clientName', 'cif', 'type');
$output = $crud->render();

“类型”字段只能包含两个值:“A”或“B”。我需要一个包含这两个值的下拉组合。我试过这段代码

$crud->field_type('type','dropdown',array('1' => 'A', '2' => 'B'));

但它不起作用。

【问题讨论】:

    标签: mysql codeigniter drop-down-menu grocery-crud


    【解决方案1】:

    我想你只需要这个:

    $crud->field_type('type','dropdown',array('A' => 'A', 'B' => 'B'));
    

    更多关于field_type方法,可以查看:http://www.grocerycrud.com/documentation/options_functions/field_type

    【讨论】:

    • 是的,它有效!昨天它失败了,因为杂货店的杂货版本是 1.2 ......现在我已经升级到 1.4.1 并且它工作正常:)
    【解决方案2】:

    您还可以将列定义为 ENUM:

    type ENUM('A','B') COLLATE utf8_unicode_ci DEFAULT NULL,

    【讨论】:

    • 这是最有效的方法,只需将数据库中的字段设置为 ENUM 并添加所有值
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 2012-10-12
    • 1970-01-01
    • 2021-08-22
    • 2018-11-30
    • 2011-02-06
    相关资源
    最近更新 更多