私はこのフォームで作業しています。ラジオボタンを退屈ではなく、人々がクリックできる画像を使用しています。そして、jQueryを使用して、.prop("checked", true)
を共同応答ラジオ入力。Imgで動作するaddClassを取得できません
しかし、私はスーパーシンプルであったはずだったと思っていたものが私の最高を得ていました。私はクリックした画像に "checked"のクラスを追加しようとしています。そのため、現在の不透明度を.3から1に変更するCSSルールに対応し、チェックされました "。シンプルに聞こえますが、何らかの理由で私は何か不足しているようです。
ここは私のjsFiddleです。
HTML
<div class="r-form">
<div class="thumbs">
<lable name="thumbs">Would you recommend this host?</lable>
<input type="radio" id="thumbs" name="thumbs" value="yes">
<img class="thumb_r" src="/imgs/thumbs-up-green.png">
<input type="radio" id="thumbs" name="thumbs" value="no">
<img class="thumb_r" src="/imgs/thumbs-down-red.png">
</div>
</div>
CSS
.r-form .thumbs {
border: 1px solid grey;
width: 95%;
display: inline-block;
float: right;
margin: 0px 5% 0px 0%;
}
.r-form .thumbs lable {
display: block;
}
.r-form .thumbs input[type="radio"] {
display: none;
margin: 0px;
padding: 0px;
}
.r-form .thumbs img {
width: 80px;
height: 80px;
opacity: .3;
margin: 10px 5%;
}
.r-form .thumbs img:hover {
opacity: 1;
}
.r-form .thumbs img.checked {
opacity: 1;
}
jQueryの
$(document).ready(function(){
var $thumb = $(".thumbs").children("img");
$thumb.click(function(){
$(this).siblings("img").removeClass(".checked");
$(this).addClass(".checked");
$(this).prev("input[type=radio]").prop("checked", true);
alert($("this").is(".checked"));
});
});
--Note -
これは私のコードの一部です。<form></form>
は含まれていませんが、それは私のオリジナルです。私はimgに関心があり、ボタンをチェックするだけです。
あなたは何が起こっているかを見ることができるように、いくつかのテンプレートWeb画像を使用したいと思います。 –
これは本当にあなたの質問への答えではないが、なぜそれのためにすべてのJavaScriptを使用するのですか?これをチェックしてください:http://www.thecssninja.com/css/custom-inputs-using-css – mmgross