今天做項目的時候,需要動態顯示復選框。結果寫好了,發現結構里面已經生成,但是沒有渲染到頁面,一度懷疑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()