Javascript 计数<;李>;根据具有值的“隐藏”输入类型

Javascript 计数<;李>;根据具有值的“隐藏”输入类型,javascript,jquery,html,Javascript,Jquery,Html,如何根据每个具有值的隐藏输入类型计算li HTML: <ul id="room_1"> <li> <div class="wrap participantlist wrap_body" style="color:#000000"> <input type="hidden" name="hidden" value="1" id="channel"> </div> <

如何根据每个具有值的隐藏输入类型计算
li

HTML:

<ul id="room_1">
    <li>
        <div class="wrap participantlist wrap_body" style="color:#000000">
           <input type="hidden" name="hidden" value="1" id="channel">
        </div>
    </li>
    <li>
        <div class="wrap participantlist wrap_body" style="color:#000000">
            <input type="hidden" name="hidden" value="2" id="channel">
        </div>
     </li>
     <li>
        <div class="wrap participantlist wrap_body" style="color:#000000">
           <input type="hidden" name="hidden" value="" id="channel">
        </div>
     </li>
</ul>
 var participantLength = $("#room_1 li").length;
 console.log(participantLength);
具有值的隐藏输入数为2

 <input type="hidden" name="hidden" value="1" id="channel">



因此,输出应该是
2

向所有输入添加一个类,如

<input type="hidden" name="hidden" value="2" id="channel" class="hidden_inputs">

您可以使用
。每个
函数迭代输入元素,如果不是空值,则进行匹配,如下所示:

var inc = 0;
$('input:hidden').each(function(){
 if ( this.value !== "" )
    inc++; // increment by 1
 });
alert(inc); // get final output for input that not empty
或者在选择器处检查一下

alert($('input:hidden[value!=""]').length);

您可以使用
.filter()
进行以下操作:

 var inputs = $('input:hidden').filter(function(){
  return this.value !== "";
});
console.log(inputs.length);
你可以找到活生生的例子

你可以使用这个例子

 $('input:hidden[value!=""]').length
我注意到您对两个输入使用相同的id(
id=“channel”
)。 请注意,ID应该是唯一的,如果要使用相同的名称,请改用class*

就这样做吧

alert($("input[type='hidden'][value='']").length);

好了,它应该显示有价值的输入的数量

$("ul li input[value!='']").length

您可以通过以下方式获得:

alert($('input:hidden[value!=""]').length);
有关更多信息,请阅读以下内容:

$("ul li input[value!='']").length
alert($('input:hidden[value!=""]').length);