formselects赋予多值回显
时间: 2023-06-11 19:07:06 浏览: 93
要实现多值回显,可以通过以下步骤:
1. 初始化 formSelects 插件时,将需要回显的值传入到 `value` 参数中,格式为一个数组,如 `value: ['1', '2']`。
2. 在 HTML 页面中,设置 `select` 标签的 `selected` 属性,将需要回显的选项设置为 `true`,如下所示:
```html
<select name="test" multiple>
<option value="1" selected>选项1</option>
<option value="2" selected>选项2</option>
<option value="3">选项3</option>
<option value="4">选项4</option>
</select>
```
这样,初始化 formSelects 插件时,就会自动将选中的选项回显出来。
注意:在多选模式下,`select` 标签必须设置 `multiple` 属性。
相关问题
layui把父页面的值回显到子页面的下拉框
在layui中,想要将父页面的值回显到子页面的下拉框中,可以通过以下步骤实现:
1. 在父页面中,定义一个变量或者通过某种方式获取到需要回显的值。
2. 将这个值传递给子页面,在父页面的JavaScript中,可以使用如下代码将值传递给子页面:
```javascript
layui.use(['layer'], function(){
var layer = layui.layer;
var parentValue = '需要回显的值';
layer.open({
type: 2,
title: '子页面',
content: '子页面的URL',
area: ['500px', '400px'],
success: function(layero, index){
// 在子页面中使用layui的方法获取到子页面的DOM对象
var body = layer.getChildFrame('body', index);
// 通过DOM的id获取到下拉框
var select = body.find('#selectId');
// 将父页面的值设置为下拉框的默认值
select.val(parentValue);
// 使用layui的form模块进行下拉框的渲染
layui.use('form', function(){
var form = layui.form;
form.render('select');
});
}
});
});
```
3. 在子页面中的HTML代码中,定义一个id为selectId的下拉框:
```html
<select id="selectId" lay-verify="required">
<option value="">请选择</option>
<option value="值1">选项1</option>
<option value="值2">选项2</option>
<option value="值3">选项3</option>
</select>
```
以上代码中,通过layui的layer模块,打开一个子页面,并在子页面的加载成功回调函数中,获取到子页面中的下拉框,并将父页面的值设置为下拉框的默认值。最后使用layui的form模块渲染下拉框,完成父页面值的回显到子页面的下拉框中。
form-create中的多选框是数组类型,在数据库中存储的值也是[xxx],将值回显在界面里,报错应该为数组类型,而我传的是string类型
你可以通过使用JSON.parse()方法将字符串类型的值转换为数组类型,然后再进行回显。例如:
```javascript
// 假设你的多选框值为 "[apple,banana,orange]"
let value = "[apple,banana,orange]";
// 将字符串类型的值转换为数组类型
value = JSON.parse(value);
// 然后再进行回显
this.form.checkboxModel = value;
```
这样就可以避免报错了。
阅读全文