layui 通过jquery动态添加radio状态不生效问题 已解决

问题描述

在用layui框架时遇到一个问题,想通过ajax返回的值来显示radio选中状态,但是一直不生效。

解决

在这里插入图片描述为什么不能用attr()?
首先要知道prop与attr的区别
prop() 用于检索固有属性,例如 DOM 属性(selectedIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked, 和 defaultSelected)。

实例: <a href="http://www.baidu.com" id="baidu">百度</a> 中的 herf、id 就属于固有属性,适合使用prop。
attr() 用于检索自定义DOM属性。
实例: <a href="http://www.baidu.com" id="baidu" extra-data="2">百度</a> 中的 extra-data 就属于自己定义的属性。

上图中的例子,如果使用attr动态的添加 checked=“checked”, 代码能增加上去,但页面不会有相应改变的,但用prop就很完美的响应。
别忘了在ajax后面加上form.render();动态渲染from表单

官方解释: 有些时候,你的有些表单元素可能是动态插入的。这时 Form模块
的自动化渲染是会对其失效的。虽然我们没有双向绑定机制(因为我们叫经典模块化框架,偷笑.gif) 但没有关系,你只需要执行
form.render(type, filter); 方法即可。

你可能感兴趣的:(前端)