olicek/form-selectize
Nette 框架表单扩展
v1.1
2018-10-23 20:04 UTC
Requires
- php: >= 5.4.0
- nette/di: >= 2.2.0
- nette/forms: >= 2.2.0
- nette/php-generator: >= 2.2.0
- nette/utils: >= 2.2.0
This package is not auto-updated.
Last update: 2024-09-17 14:07:48 UTC
README
Nette 框架表单扩展
更多文档
- [javascript 设置] (https://github.com/Olicek/form-selectize/blob/master/docs/en/javascript.md)
- [ajax] (https://github.com/Olicek/form-selectize/blob/master/docs/en/ajax.md)
需求
- Nette 2.2+
- jQuery 1.8+
- [Selectize] (https://github.com/brianreavis/selectize.js)
安装
安装 olicek/form-selectize 的最佳方式是使用 Composer
$ composer require olicek/form-selectize
在安装服务器端站点后,您必须安装客户端站点。最佳方式是使用 bower。
从 客户端 链接 selectize.js 以及原始的 selectize.js 并在某个位置调用 selectize() 函数。
| 备注:如果您需要使用之前的 JavaScript,它可以在 selectize-old.js 中找到
最后一步是使用您的 neon 配置启用扩展
extensions:
selectize: App\Form\Control\SelectizeExtension
默认配置
selectize:
mode: full # second mode is `select` for selection just 1 option
create: on
maxItems: null
delimiter: #/
plugins:
- remove_button
valueField: id
labelField: name
searchField: name
全模式下的数组数据
array (2)
0 => array (2)
id => 1
name => "First item"
1 => array (2)
id => 2
name => "Second item"
在 config.neon 中,id 被设置为 valueField,name 被设置为 labelField 和 searchField。您可以使用任何内容,只需在 config.neon 或 addSelectize 方法中设置即可。例如
valueField: slug
选择模式下的数组数据
选择模式下的数据与 SelectBox 相同
array (2)
1 => "First item",
2 => "Second item"
使用
来自 config.neon 的默认设置
$form->addSelectize('tags', 'štítky', $arrayData);
方法一(数组)中的自定义设置
$form->addSelectize('tags', 'štítky', $arrayData, ['create' => false, 'maxItems' => 3]);
方法一(方法)中的自定义设置
$form->addSelectize('tags', 'štítky', $arrayData)->setValueField('slug')->delimiter('_');
输出结果
选择模式
dump($form->values->tags); // return "1"
全模式
在全模式下,它将返回包含 valueField 值的数组。如果您创建了新的标签,它将在子数组中以纯文本形式存在。
array (3)
0 => "1"
1 => "2"
new => array (1)
0 => "Third item"