layui动态生成的checkbox不显示?
今天做项目的时候,需要动态显示复选框。结果写好了,发现结构里面已经生成,但是没有渲染到页面,一度怀疑layui的坑,因为“隐藏”了。
通过查找资料,发现人家文档里提及了。
更新渲染
有些时候,你的有些表单元素可能是动态插入的。这时 form 模块 的自动化渲染是会对其失效的。虽然我们没有双向绑定机制(因为我们叫经典模块化框架,偷笑.gif) 但没有关系,你只需要执行 form.render(type, filter); 方法即可。
贴代码:
function setQr() {
ajax(baseUrl + "请求接口",
{
Type: Type //参数
}, "post").done(function (res) {
var html = ""
for (var i in res) {
console.log(res[i].name);
html += `<input type="checkbox" name="like[write]" title="` + res[i].name + `" value="attribute1" lay-filter="textCheck">
`
}
$('#prop').html(html)
form.render();//渲染页面
form.on('checkbox(textCheck)', function (data) {
console.log(data.elem); //得到checkbox原始DOM对象
console.log(data.elem.checked); //是否被选中,true或者false
console.log(data.value); //复选框value值,也可以通过data.elem.value得到
console.log(data.othis); //得到美化后的DOM对象
});
}).fail(function (err) {
})
}
setQr()