私はユーザーのjqueryを使って、バックグラウンドイメージからなるdivのペアにクラスを追加/削除しようとしています。 div/imageは、隠れたラジオボックスのペアのラジオボックスとして機能することを意図しています。ラジオボタンの値を変更し、jqueryを使ってクラスを追加する
div/imageをクリックすると、スクリプトはクリックされたdivに 'selected'クラスを適用し、必要に応じて他のものから削除する必要があります。適切な隠しラジオボタンを選択します。
私の知る限りでは、以下のスクリプトはうまくいくはずですが、そうではありません。私は現在間違っています。任意のアイデアスタッカー?
SCRIPT
$("div#like").click(function() {
var $radios = $('input:radio[name=vote]');
$("div#dislike").removeClass("selected");
$("div#like").addClass("selected");
$radios.filter('[value=likes]').attr('checked', true);
});
$("div#dislike").click(function() {
var $radios = $('input:radio[name=vote]');
$("div#like").removeClass("selected");
$("div#dislike").addClass("selected");
$radios.filter('[value=likes]').attr('checked', true);
});
HTML
<form action="createComment.php" method="post">
<div id="like" ><input class="like" type="radio" name="vote" value="likes" /></div>
<div id="dislike" ><input class="dislike" type="radio" name="vote" value="dislikes" /></div><br/>
</form>
[EDIT 15:07]私はこのルートを行った場合はどうすれば ?
$("div#like").click(function() {
var $radios = $('input:radio[name=vote]');
$("div#dislike").removeClass("selected");
$("div#like").addClass("selected");
$radios.filter('[value=likes]').attr('checked', true);
$radios.filter('[value=dislikes]').attr('checked', false);
});
$("div#dislike").click(function() {
var $radios = $('input:radio[name=vote]');
$("div#like").removeClass("selected");
$("div#dislike").addClass("selected");
$radios.filter('[value=dislikes]').attr('checked', true);
$radios.filter('[value=likes]').attr('checked', false);
});
それは今あなたのために働くのか?どのボタンをチェックするように修正したので、それは私には見えるはずです。実際には動作しません - あなたはattr( "checked"、true)をそこに残すべきです。 – kinakuta
jqueryドキュメントをチェックして確認してください:http://docs.jquery.com/Frequently_Asked_Questions#How_do_I_check.2Funcheck_a_checkbox_input_or_radio_button.3F – kinakuta
それは単独で機能しますが、自分のサイトに統合してもそれはまだありません。 – VikingGoat