Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-如果选中单选按钮,则更改背景颜色_Javascript_Php - Fatal编程技术网

JavaScript-如果选中单选按钮,则更改背景颜色

JavaScript-如果选中单选按钮,则更改背景颜色,javascript,php,Javascript,Php,我对JavaScript相当陌生,在进入jQuery之前,我想学习其中的一些内容,所以这里没有jQuery选项 我有一个表格,我可以写一篇文章,我已经把所有的东西都准备好了,并且运行得很好。图像选择器本身可以工作,但它是我想要修复的外观,因此我不必查看图像下丑陋的单选按钮,因此单选按钮将被删除,取而代之的是,图像的背景变为红色或其他一些明显的颜色 显示图像的代码如下所示,除了单击: $dir = 'img/uploads/'; $images = glob($dir.'*.jpg'); $n

我对JavaScript相当陌生,在进入jQuery之前,我想学习其中的一些内容,所以这里没有jQuery选项

我有一个表格,我可以写一篇文章,我已经把所有的东西都准备好了,并且运行得很好。图像选择器本身可以工作,但它是我想要修复的外观,因此我不必查看图像下丑陋的单选按钮,因此单选按钮将被删除,取而代之的是,图像的背景变为红色或其他一些明显的颜色

显示图像的代码如下所示,除了单击:

$dir = 'img/uploads/';

$images = glob($dir.'*.jpg');

$numPics = count($images) / 2 - 1;

for($i = 0; $i<=$numPics; $i++){

    if(strpos($images[$i], 'large')){

?>

<td>

    <label for="selectImage<?=$i; ?>">
        <img src="<?=$images[$i];?>" alt="<?=$images[$i]; ?>" width="250" id="imageLabel<?=$i; ?>">
    </label>

    <input type="radio" name="img" value="<?=$images[$i]; ?>" role="button" id="selectImage<?=$i; ?>" onclick="changeBackground('imageLabel<?=$i; ?>', 'selectImage<?=$i; ?>')">

</td>
<?php

    if($i == 3){

        echo "</tr>";

    }

   }

}
我想要的是,当我选中单选按钮时,图像上的背景图像会改变颜色,当我选中其他图像时,它会改变该图像上的背景颜色。你知道我该怎么做吗? 单选按钮将显示:无;这没问题

感谢您的帮助。

这应该可以做到:

function changeBackground(id, id2){

  if(document.getElementById(id2).checked) {

    document.getElementById(id).style.backgroundColor = 'red';

  }
}
你的情况中有一个分号,它破坏了整个事情。

这应该可以做到:

function changeBackground(id, id2){

  if(document.getElementById(id2).checked) {

    document.getElementById(id).style.backgroundColor = 'red';

  }
}

在你的状态中有一个分号,它破坏了整个事情。

实际上,你需要零JavaScript来完成它

input[type=“radio”]{
显示:无;
}
输入[type=“radio”]+标签{
背景颜色:黄色;
}
输入[type=“radio”]:选中+标签{
背景色:石灰;
}
1
两个
三

四个
实际上,您需要零JavaScript来完成这项工作

input[type=“radio”]{
显示:无;
}
输入[type=“radio”]+标签{
背景颜色:黄色;
}
输入[type=“radio”]:选中+标签{
背景色:石灰;
}
1
两个
三

我个人的看法是,特别是因为您是JavaScript新手,jQuery对您来说会很好。jQuery是100%的JavaScript,它只是帮助您实现几个快捷方式。@lxgjquery不会帮助他完成他真正需要的两件事。这不是将分号置于if条件下(有时会发生这种情况,而且可能会让人很难受),也不是使用浏览器的开发工具来检查语法错误。在发布JavaScript问题时,请发布HTML,即使PHP生成HTML(您的浏览器得到),一旦运行JavaScript的浏览器接收到HTML,PHP就不再重要了。好吧,我没有看到那个分号,但它仍然不能真正做到我想要的。方向是对的,但仍然不在那里。它为我检查的所有内容添加了背景色,但我过去检查的内容保留了背景色:红色;即使它没有被检查。“即使它没有被检查”你也不会告诉它回去。我个人的意见是,特别是因为你是一个JavaScript新手,jQuery对你有好处。jQuery是100%的JavaScript,它只是帮助您实现几个快捷方式。@lxgjquery不会帮助他完成他真正需要的两件事。这不是将分号置于if条件下(有时会发生这种情况,而且可能会让人很难受),也不是使用浏览器的开发工具来检查语法错误。在发布JavaScript问题时,请发布HTML,即使PHP生成HTML(您的浏览器得到),一旦运行JavaScript的浏览器接收到HTML,PHP就不再重要了。好吧,我没有看到那个分号,但它仍然不能真正做到我想要的。方向是对的,但仍然不在那里。它为我检查的所有内容添加了背景色,但我过去检查的内容保留了背景色:红色;即使它没有被检查,“即使它没有被检查”你也不会让它回去。不可能,绝对不会。使用那个随机放置的分号,你会得到一个语法错误。不太可能,绝对不会。使用这个随机放置的分号,你会得到一个语法错误。如果他/她能够并且能够重新构造HTML,那么OP需要“零JavaScript来完成”,这并不总是适用的。但是是的,CSS通常是这类事情的更好选择。好吧,这里的这个比我想象中的javascript要好得多。我要用这个。谢谢好吧,OP需要“零JavaScript来完成”,如果他/她能够并且能够重新构造HTML,这并不总是适用的。但是是的,CSS通常是这类事情的更好选择。好吧,这里的这个比我想象中的javascript要好得多。我要用这个。谢谢