如何使用单选按钮更改的颜色?

时间:2018-09-05 12:09:30

标签: javascript jquery html radio-button

如何根据单选按钮的值更改CREATE TABLE `posts` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `body` varchar(160) NOT NULL DEFAULT '', `user_id` int(11) unsigned NOT NULL, PRIMARY KEY (`id`), KEY `user_id` (`user_id`), CONSTRAINT `posts_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 元素的颜色?如果单选按钮被选中为“否”,我想将<td>设置为红色,如果单选按钮被选中为“确定”,我想将设置为绿色。

<td bgcolor></td>
function color(){
  if(radio1.checked()){
    td1.bgcolor="green";
  }
  if(radio2.checked()){
    td1.bgcolor="red";
  }
}

我知道这段代码非常错误,但这只是一个示例,可以帮助您理解我的问题

4 个答案:

答案 0 :(得分:3)

几点:

  1. 使用name属性将单选按钮定义为同一组的一部分(具有相同名称的单选按钮属于同一组)。

  2. 将功能附加到两个单选按钮的onchage事件中。

  3. 您必须使用元素的style属性来设置backgroundColor

尝试以下方式:

function color(el){
  if(el.value=="OK"){
    el.parentNode.parentNode.style.backgroundColor="green";
  }
  else{
    el.parentNode.parentNode.style.backgroundColor="red";
  }
 }
<table>
  <tr>
    <td bgcolor="#B35556">
      <form action="">

        OK <input type="radio" name="radio" id="radio1"value="OK" onchange="color(this)"/> <BR>
        NO <input type="radio" name="radio" id="radio2"value="NO" onchange="color(this)" checked/>

      </form>
    </td>
  </tr>
</table>

答案 1 :(得分:0)

您应该使用javascript change事件在raido按钮更改时运行代码。在事件监听器中,检查目标无线电的状态和值以设置背景色。

$(":radio").change(function(){      
    if (this.checked && this.value == "OK")
        $(this).closest("td").css("background", "green");
    else if (this.checked && this.value == "NO")
        $(this).closest("td").css("background", "red");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<table>
  <tr>
    <td bgcolor="#B35556">
      <form action="">    
      OK <input type="radio" name="radio1" id="radio1" value="OK"/> 
      <br>
      NO <input type="radio" name="radio1" id="radio2" value="NO" checked />
      </form>
    </td>
  </tr>
</table>

您还可以使用简单的代码来完成这项工作:

$(":radio").change(function(){      
  if (this.checked)
      $(this).closest("td").css("background", this.value=="OK" ? "green" : "red");      
});

答案 2 :(得分:0)

您可以在Ui上传递变量以及函数调用

例如:

Bool

然后在Javascript中,您可以捕获字符串并检查其内容:

<form action="">
   OK <input type="radio" name="radio1" id="radio1"value="OK" checked="color('ok')"/> <BR>
   NO  <input type="radio" name="radio2" id="radio2"value="NO" checked="color('no')"/>

答案 3 :(得分:0)

function color()
{
	
  if(document.getElementById("radio1").checked)
  {
	 document.getElementById("td1").style.backgroundColor = "green";
 
  }
  if(document.getElementById("radio2").checked)
  {
 document.getElementById("td1").style.backgroundColor = "#B35556";
  }
 }
<body>
<table>

<tr>
  <td bgcolor="#B35556" id="td1">
  <form action="">
    

       OK <input type="radio" name="radio1" id="radio1"value="OK" onclick="color()"/> <BR>
        NO  <input type="radio" name="radio1" id="radio2"value="NO" onclick="color()" checked>
       
   
  </form>
  </td>
</tr>
</table>
</body>