所以我想用它的值来检查某个复选框,因为我没有其他方法可以这样做,因为没有elementId,并且所有其他属性都相同。这是图片说明。 enter image description here
我尝试了这些代码,但没有一个起作用。
//For the first one I tried to count all checkboxes and search for it using
// innerText
for(var i=0; i< document("input:radio").length; i++)
{
if( document.getElementsByTagName("RADIO")[i].innerText == " H")
{ document.getElementsByTagName("RADIO")[i].checked =true;
break;}}
//Here I changed the way to reach the elements since the first one
//always gave 0 as a count
for(var i=0; i< document("input:radio").length; i++)
{
if( document("input:radio")[i].innerHTML == " H")
{ document("input:radio")[i].checked = true;
break;}}
我还在jQuery中找到了一些代码,但由于某种原因它无法正常工作,我希望它可以在 javaScript 中使用。
答案 0 :(得分:1)
对于jQuery,使用[<attribute>="<value">]
(如果没有空格,则括号是可选的),如下所示:
$('input[type=radio][value=H2]').prop('checked', true);
// For old versions of jQuery:
// $('input[type=radio][value=H2]').attr('checked', 'checked');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="radio" value="H1" name="H"> H1
<input type="radio" value="H2" name="H"> H2
在没有jQuery的情况下,使用document.querySelector()
获取CSS选择器并返回与选择器匹配的第一个元素,如下所示:
document.querySelector('input[type=radio][value=H2]').checked = true;
<input type="radio" value="H1" name="H"> H1
<input type="radio" value="H2" name="H"> H2
答案 1 :(得分:1)
在modern browser上的javascript中!您可以使用querySelector:
var mInput = document.querySelector("input[value='M']")
if (mInput.checked) {
//radio 'M' is checked
}else {
//radio 'M' is not checked
}
检查是否已选中:
if(document.querySelector("input[value='M']") === true )
但是我认为您真正想要实现的是查询已检查的无线电并获取值:
var gender = document.querySelector("input[name=contactFormGender]:checked").value
希望对您有帮助
答案 2 :(得分:0)
尝试一下:
var valueToSearchFor = "your_value";
var inputs = document.getElementsByTagName("input");
for (var elem of inputs) {
if (elem.type == "radio") { // if is a radio button
if (elem.value == valueToSearchFor) {
console.log("Found: ", elem);
}
}
}
您也可以使用document.querySelector()
var valueToSearchFor = "your_value";
var checkBoxes = document.querySelector("input[type='radio']");
for (var elem of checkBoxes) {
if (elem.value == valueToSearchFor) {
console.log('Found: ', elem);
}
}
答案 3 :(得分:0)
尝试一下
// Check is Radio is checked
var checkChecked = function(el){
var check = document.querySelector("input[type=radio][value='"+ el +"']");
return (check.checked ? true : false);
}
// Function for checked by Value
function triggerCheck(el){
document.querySelector("input[type=radio][value='"+ el +"']").checked = true;
}
triggerCheck("M2");
console.log("H1 Is checked? " + checkChecked("H1"));
console.log("M2 Is checked? " + checkChecked("M2"));
console.log("K1 Is checked? " + checkChecked("K1"));
<input type="radio" value="H1" name="H"> H1
<input type="radio" value="H2" name="H"> H2
<br>
<input type="radio" value="M1" name="M"> M1
<input type="radio" value="M2" name="M"> M2
<br>
<input type="radio" checked="checked" value="K1" name="K"> K1
<input type="radio" value="K2" name="K"> K2
答案 4 :(得分:0)
为进一步解释,这是来源
<DIV CLASS="RadioDIV">
<SPAN CLASS="CheckRadioHeaderTxt"><IMG SRC="webresources/icons/mandatory.gif" ALT="Mandatory" CLASS="DAMandatoryIcon">Sexe<BR></SPAN>
<INPUT CLASS="Radio" TYPE="RADIO" NAME="contactFormGender" VALUE="M"><SPAN CLASS="CheckRadioTxt"> H<BR></SPAN><INPUT TYPE="HIDDEN" NAME="IVP_contactFormGender" VALUE="IVP_No_Model_Connection#null#noFormatMaskPropSet"/>
<INPUT CLASS="Radio" TYPE="RADIO" NAME="contactFormGender" VALUE="F"><SPAN CLASS="CheckRadioTxt"> F<BR></SPAN><INPUT TYPE="HIDDEN" NAME="IVP_contactFormGender" VALUE="IVP_No_Model_Connection#null#noFormatMaskPropSet"/>
<INPUT CLASS="Radio" TYPE="RADIO" CHECKED NAME="contactFormGender" VALUE="N"><SPAN CLASS="CheckRadioTxt"> Aucun<BR></SPAN><INPUT TYPE="HIDDEN" NAME="IVP_contactFormGender" VALUE="IVP_No_Model_Connection#null#noFormatMaskPropSet"/>
</DIV>
答案 5 :(得分:0)
我解决了所有需要做的事情,以制作一组具有相同ID的无线电,然后获取每个值,然后将其与所需的值进行比较。
可以关闭此主题:D感谢所有帮助我的人。