Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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
Jquery 选中单选按钮时,如何将图像置于图像上方?_Jquery_Html_Css - Fatal编程技术网

Jquery 选中单选按钮时,如何将图像置于图像上方?

Jquery 选中单选按钮时,如何将图像置于图像上方?,jquery,html,css,Jquery,Html,Css,我有4-5个单选按钮,每个按钮下面都有一个图像。我想在选中按钮时将图像更改为另一个图像。我可以通过4 if-else来检查选中的内容,然后将图像放置在该图像上,但我想用几行作为所有单选按钮的相同图像。我开始这样做: CSS #selectedRadio { display:none; width:74px; height:69px; position:absolute; margin-top:20px; } Jqu

我有4-5个单选按钮,每个按钮下面都有一个图像。我想在选中按钮时将图像更改为另一个图像。我可以通过4 if-else来检查选中的内容,然后将图像放置在该图像上,但我想用几行作为所有单选按钮的相同图像。我开始这样做:

CSS

#selectedRadio {
        display:none;
        width:74px;
        height:69px;
        position:absolute;
        margin-top:20px;
}
Jquery

<script>
jQuery(function(){
        jQuery("input[name=choose]").change(function(){          
            if ($(this).is(":checked")) {
                jQuery("#selectedRadio").slideDown()
            }                                                       
       });
});
</script>

jQuery(函数(){
jQuery(“输入[name=choose]”。更改(函数(){
如果($(this).is(“:checked”)){
jQuery(“#selectedRadio”).slideDown()
}                                                       
});
});
HTML

<div id="selectedRadio"><img src="selected.png" /></div>
<input name="choose"  value="black"> <br><img src ="black.jpg" />
<input name="choose"  value="white"> <br><img src ="white.jpg" />
<input name="choose"  value="red"> <br><img src ="red.jpg" />
<input name="choose"  value="blue"> <br><img src ="blue.jpg" />





是否可以使用hide()/show()方法? 我已经创建了

以下是HTML:

<div class="container">
    <label>
        <input type="radio" name="choose" value="black"/>
        <img src="black.jpg" alt="black image" data-color="black" />
    </label>
    <label>
        <input type="radio" name="choose" value="white"/>
        <img src="white.jpg" alt="white image" data-color="white" />
    </label>
    <label>
        <input type="radio" name="choose" value="red"/>
        <img src="red.jpg" alt="red image" data-color="red" />
    </label>
    <label>
        <input type="radio" name="choose" value="blue"/>
        <img src="blue.jpg" alt="blue image" data-color="blue" />
    </label>
</div>
还有一些基本的造型:

label {
    display: inline-block;
    width:150px;
}
input,
img {
    display: block;
}

同样,这只是一种可能的方法,可以让大家理解这个概念。

请发布有效信息html@Jay,您的代码乱七八糟,无效。“非常清楚。@Jay,您希望“selected.png”替换与单击的输入相关联的每个图像吗?一次只能选择一个吗?是的,每个raido都有一个图像,我只想在选择图像时在该图像上显示一个图像。就像一个勾号显示它被选中。选定的图像是替换原始图像还是放在它上面创建分层效果?如果是前者,我下面的答案就是你想要的;如果是后者,我需要更改我的答案。您的意思是为每个选中的按钮隐藏/显示?我试图避免使用几个if和else选项,因为选项将从4增加到20左右。您只需要尽可能少的行吗?谢谢,这一行接近我想要的。我实际上想将selected.png放在当前图像上,使其类似于“颜色”上的“勾号”。另一个问题是,当我复制您的代码并执行此操作时,前面的选择不会重置,我将修复此问题,因为它不会发生在js fiddle上。如果您需要,我可以使用覆盖创建一个版本。一些相同的原则也适用。如果你能发布你正在使用的实际图像的url,我可以在我的小提琴中使用它们。
label {
    display: inline-block;
    width:150px;
}
input,
img {
    display: block;
}