layui进行input动态渲染,是失效的,隐藏的input也会展示到页面上,虚心请教
代码
<div style="float: left" id="valid" class="layui-input-block">
<label class="layui-form-label" style="color:white;">
<input style="display:block" type="checkbox" name="correctAnswer" value="A" >A
<input style="display:block" type="checkbox" name="correctAnswer" value="B" >B
<input style="display:block" type="checkbox" name="correctAnswer" value="C" >C
<input style="display:block" type="checkbox" name="correctAnswer" value="D" >D
<input style="display:none" type="radio" name="correctAnswer" value="A" >A
<input style="display:none" type="radio" name="correctAnswer" value="B" >B
<input style="display:none" type="radio" name="correctAnswer" value="C" >C
<input style="display:none" type="radio" name="correctAnswer" value="D" >D
<input style="display:none" type="radio" name="correctAnswer" value="A" >对
<input style="display:none" type="radio" name="correctAnswer" value="B" >错
</label>
<script>
layui.use('form', function () {
var form = layui.form;
var $ =layui.jquery;
// form.render();
form.on('select(hideoption)', function (data) {
console.log(data.elem); //得到select原始DOM对象
console.log(data.elem.id); //得到select id 属性
console.log(data.elem.name); //得到select name 属性
console.log(data.value); //得到被选中的值
console.log(data.othis); //得到美化后的DOM对象
var res =data.value;
if(res==="2"){
document.getElementById("div1").style.display="none";
document.getElementById("div2").style.display="none";
var checks = document.getElementsByName("correctAnswer");
checks[0].style.display="none";
checks[1].style.display="none";
checks[2].style.display="none";
checks[3].style.display="none";
checks[4].style.display="none";
checks[5].style.display="none";
checks[6].style.display="none";
checks[7].style.display="none";
checks[8].style.display="block";
checks[9].style.display="block";
console.log(checks[2].style.display);
}else if(res=="1"){
document.getElementById("div1").style.display="block";
document.getElementById("div2").style.display="block";
var checks = document.getElementsByName("correctAnswer");
checks[0].style.display="block";
checks[1].style.display="block";
checks[2].style.display="block";
checks[3].style.display="block";
checks[4].style.display="none";
checks[5].style.display="none";
checks[6].style.display="none";
checks[7].style.display="none";
checks[8].style.display="none";
checks[9].style.display="none";
console.log(checks[2].style.display);
}else if(res == '2') {
document.getElementById("div1").style.display="block";
document.getElementById("div2").style.display="block";
var checks = document.getElementsByName("correctAnswer");
checks[0].style.display="none";
checks[1].style.display="none";
checks[2].style.display="none";
checks[3].style.display="none";
checks[4].style.display="block";
checks[5].style.display="block";
checks[6].style.display="block";
checks[7].style.display="block";
checks[8].style.display="none";
checks[9].style.display="none";
console.log(checks[2].style.display);
}
});
});
function selectCheckOne(obj){
var checks = document.getElementsByName("sex");
console.log(checks);
console.log(obj.checked);
if(obj.checked){
for( var i=0;i<checks.length;i++){
checks[i].checked=false;
}
obj.checked=true;
}else{
for( var i=0;i<checks.length;i++){
checks[i].checked=false;
}
}
}
</script>
运行结果及报错内容
前端会全部展示出来