如果选中

时间:2017-02-23 11:00:46

标签: javascript checkbox radio-button

如果选中复选框和单选按钮,我想将“选定”类添加到复选框。我在网上找到了以下代码,可以使用复选框。

我还需要更改以在代码中包含单选按钮吗?

<script>
		var inputs = document.getElementsByTagName("input");
var checkboxes = [];

for (var i = 0; i < inputs.length; i++) {
  if (inputs[i].type == "checkbox") {
    checkboxes.push(inputs[i]);
    if (inputs[i].checked) {
      checked.push(inputs[i]);
    }
  }
}

for (var j = 0; j < checkboxes.length; j++) {
    checkboxes[j].onclick = function() {
        if (this.checked == true) {
            this.className += " selected";
        } else {
            removeClassName(this, 'selected');
        }
    }
}

function removeClassName(e,t) {
    if (typeof e == "string") {
        e = xGetElementById(e);
    }
    var ec = ' ' + e.className.replace(/^\s+|\s+$/g,'') + ' ';
    var nc = ec;
    if (ec.indexOf(' '+t+' ') != -1) {
        nc = ec.replace(' ' + t + ' ',' ');
    }
    e.className = nc.replace(/^\s+|\s+$/g,'');
    return true;
}
		</script>

2 个答案:

答案 0 :(得分:1)

您不需要javascript。

有一个css选择器,它是:checked

input[type="radio"]:checked {
    /* Use the css of selected class */
}

答案 1 :(得分:0)

这是JSFiddle源https://jsfiddle.net/rj1405/Lnv70bsu/14/

而不是像

那样添加类名
  

this.className + =&#34;选择&#34 ;;

我正在尝试通过javascript方法添加

  

输入[I] .classList.add(&#39;选择&#39);

请找到以下代码供您参考。

&#13;
&#13;
var inputs = document.getElementsByTagName("input");

for (var i = 0; i < inputs.length; i++) {
   if (inputs[i].type == "checkbox" || inputs[i].type == "radio") {
   if (inputs[i].checked) {
    	inputs[i].classList.add('selected');
    	// console.log(inputs[i].classList);
           // console.log(inputs[i]);
   }
  }
}
&#13;
  

 <input type="radio" name="imgsel" value="" checked="checked" />
   <input type="radio" name="imgse2" value="" checked/>
   <input type="checkbox" name="vehicle" value="Car" checked>
&#13;
&#13;
&#13;