Javascript 检查';选中';所有子级隐藏输入的值

Javascript 检查';选中';所有子级隐藏输入的值,javascript,jquery,html,Javascript,Jquery,Html,回答 您不能将隐藏的输入设为复选框,因此它不会有复选框 所有物您可以使用type=“checkbox”并使用display:none隐藏它 如果您需要它是一个复选框,或者您可以简单地使用隐藏的 输入一个0或1来模拟它 我有一个包含隐藏字段的容器来保存数据 <Panel id="jointlist"> <input type="hidden" id="jl_C_Head_back_conf" name="C_Head_back_conf" data-loca

回答

您不能将隐藏的输入设为复选框,因此它不会有复选框 所有物您可以使用type=“checkbox”并使用display:none隐藏它 如果您需要它是一个复选框,或者您可以简单地使用隐藏的 输入一个0或1来模拟它

我有一个包含隐藏字段的容器来保存数据

    <Panel id="jointlist">
      <input type="hidden" id="jl_C_Head_back_conf" name="C_Head_back_conf" data-location="Head, back"/>
      <input type="hidden" id="jl_C_Head_back_text" name="C_Head_back_text"/>
      <input type="hidden" id="jl_C_Head_front_conf" name="C_Head_front_conf" data-location="Head, front"/>
      <input type="hidden" id="jl_C_Head_front_text" name="C_Head_front_text"/>
    </Panel>    
但这将返回父节点,其中包含
子节点下列出的所有输入。图片中的项目为真,还有一个项目为真,但其余132个项目均为假。

然后我试着遍历所有的子元素来找到选中的元素,所以我试着

    jointlist.each(function () {
        var curItem = $(this);
        var chldrn = curItem[0].children;
        for (i = 0; i < chldrn.length; i++) {
            console.log(chldrn[i].checked);
        }
    });
jointlist.each(函数(){
var curItem=$(此项);
var chldrn=curItem[0]。儿童;
对于(i=0;i
这将返回子元素的
HTML
。 因此,我不知道如何访问孩子的
checked
属性

编辑 这是for循环
console.log(chldrn[i].选中)的屏幕截图


您可以先获取所有输入元素:

var inputs = document.getElementById('jointlist').getElementsByTagName('input');
然后循环并获得检查值,如

inputs[i].getAttribute('checked');
var inputs=document.getElementById('jointlist').getElementsByTagName('input');
var-res;
对于(变量i=0;i


您没有查看
length
属性,请查看其0和隐藏元素不起作用,因此其返回正确性复选框在哪里?it type=“hidden”not type=“checkbox”您也在尝试获取:checked”,但没有元素如果有选中值为true的项目,那么长度为何为0。我在这里迷路了没有复选框。它的隐藏输入值为true。对不起,请看我添加的最后一个屏幕截图。当我记录
输入时,我会得到相同的窗口。然后,当I lof
输入[I].attributes.checked时,会出现134个未定义的值,这似乎是不可能的。看这里:所以我创造了一个工作环境。我添加了一个数据属性“check”。我把
检查的
建立在这个基础上
inputs[i].getAttribute('checked');