2017-09-05 72 views
0

就像标题说,我想要获得使用相同名称的所有单选按钮值。下面是HTML代码如何通过名称获得所有单选按钮值

<input type="radio" id="choice-yes-1" name="choice[0]" value="Yes" /> Yes <br/> 
<input type="radio" id="choice-no-1" name="choice[0]" value="No" /> No <br /> 
<input type="radio" id="choice-yes-2" name="choice[1]" value="Yes" /> Yes <br /> 
<input type="radio" id="choice-no-2" name="choice[1]" value="No" /> No <br /> 

我想的JavaScript还挺喜欢这个

ctr = 0; 
for (i=0;i<2;i++){ 
    if(document.getElementsByName("choice")[i].value == "Yes"){ 
     ctr++; 
    } 
} 
console.log(ctr); 

我想一些JavaScript这有点儿导致的是有多少选择。

+0

尝试像'$(“输入[值=是]:勾选”)。length'它应该返回被检查的元素的数量,其值为是 –

回答

1

您可以使用$('input[id^=choice-][value=Yes]:checked').length让所有checked元素与Yes

$('input[id^=choice-][type=radio]').change(function() { 
 
    console.log($('input[id^=choice-][value=Yes]:checked').length) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="radio" id="choice-yes-1" name="choice[0]" value="Yes" checked /> Yes <br/> 
 
<input type="radio" id="choice-no-1" name="choice[0]" value="No" /> No <br /> 
 
<input type="radio" id="choice-yes-2" name="choice[1]" value="Yes" /> Yes <br /> 
 
<input type="radio" id="choice-no-2" name="choice[1]" value="No" /> No <br />

+0

这是jqurey的一些非常合法的简单代码。 谢谢。 – Kelpie

+1

@Kelpie您的欢迎,乐于帮助 –

0

document.getElementsByName("choice")是空数组,因为没有这样的元素。

解决方案:

let result = [].filter.call(document.querySelectorAll('input[type=radio]'), function(e){ 
    return e.value === 'Yes' 
}) 

console.log(result.length) 
+0

这看起来更像评论而不是回答 –

0

试试这个值时,计数将有涨有跌但不低于0

var count = 0; 
 

 
$('input').change(function() { 
 
    if ($(this).val() == "Yes") { 
 
    count++ 
 
    } else { 
 
    if (count == 0) { 
 
     return; 
 
    } 
 

 
    count--; 
 
    } 
 
    console.log(count) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input type="radio" id="choice-yes-1" name="choice[0]" value="Yes" /> Yes 
 
<br/> 
 
<input type="radio" id="choice-no-1" name="choice[0]" value="No" /> No 
 
<br /> 
 
<input type="radio" id="choice-yes-2" name="choice[1]" value="Yes" /> Yes 
 
<br /> 
 
<input type="radio" id="choice-no-2" name="choice[1]" value="No" /> No 
 
<br />