ssimpson/yii2-dual-list-box

Yii 2 的双列表框小部件

安装次数: 187

依赖者: 0

建议者: 0

安全: 0

星星: 0

观察者: 2

分支: 14

开放问题: 0

语言:JavaScript

类型:yii2-extension

dev-master 2018-09-20 20:36 UTC

This package is not auto-updated.

Last update: 2024-09-29 03:15:28 UTC


README

双列表框小部件是 jQuery 和 Bootstrap 的双列表框插件的包装器,Bootstrap 双列表框是专为 Bootstrap 和 jQuery 设计的双列表框实现。这个控件用户理解和使用都非常简单。此外,它还可以与非常大的多选框一起工作,而不会让用户感到困惑。

这个版本与父版本不同,因为它支持通过 json 数据提取。PHP/yii 包装器和实际的 JavaScript 都已更新以支持此功能。

MIT 许可证 (MIT)

安装

安装此扩展的首选方式是通过 composer

运行以下命令:

php composer.phar require --prefer-dist ssimpson/yii2-dual-list-box "dev-master"

或(如果您已将 composer 添加到路径中):

composer require --prefer-dist ssimpson/yii2-dual-list-box "dev-master"

或将其添加到您的 composer.json 文件的 require 部分:

"ssimpson/yii2-dual-list-box": "dev-master"

使用方法

安装扩展后,只需在您的代码中使用它即可

示例

视图

echo ssimpson\duallistbox\Widget::widget([
    'model' => $model,
    'attribute' => 'list_regions',
    'title' => 'Example Title',
    'data' => $region,
    'data_id'=> 'id',
    'data_value'=> 'name',
    'json_uri' => 'http://example.com/data',
    'lngOptions' => [
        'warning_info' => 'Are you sure you want to move this many items? Doing so can cause your browser to become unresponsive.',
        'search_placeholder' => 'Filter',
        'showing' => ' - showing',
        'available' => 'Available',
        'selected' => 'Selected'
    ]
  ]);

model - 表单属性对应的模型 - 表单标题对应的模型属性 - 属性对应的视图名称

data - 模型 (Region::find()->all()) OR 数组['id'=>1,'name'=>'']; 这是与上游项目的一个区别。 data_id - id 数据的名称属性

sample json 数据


[
    {
        "index": 0,
        "name": "Peters Sloan",
        "company": "Kongle",
        "email": "peterssloan@kongle.com",
        "selected": true
    },
    {
        "index": 1,
        "name": "Bailey Hoffman",
        "company": "Centrexin",
        "email": "baileyhoffman@centrexin.com"
    },
    {
        "index": 2,
        "name": "Christine Hahn",
        "company": "Geoform",
        "email": "christinehahn@geoform.com",
        "selected": false
    }
]

在这个例子中,默认情况下只会选择 Peters Sloan

刷新数据或使用不同的数据源

    $('#list_regions').update({
        uri: 'http://example.com/data2',
    });

控制器 视图

        $model = new ModelForm;
        
        $region = Region::find()->all();

控制器 保存

$model = new ModelForm;
$model->load(Yii::$app->request->post());
$region_model = Json::decode($model->list_regions);