使用其值查找某个复选框

时间:2018-07-30 09:35:44

标签: javascript jquery

所以我想用它的值来检查某个复选框,因为我没有其他方法可以这样做,因为没有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 中使用。

6 个答案:

答案 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感谢所有帮助我的人。