我正在尝试使用 jquery 在一对由背景图像组成的 div 上添加/删除一个类。 div/image 旨在充当一对隐藏单选框的单选框。
当点击 div/image 时,脚本应该将“selected”类应用到点击的 div 并将它从另一个 div 中移除(如果需要);并选择适当的隐藏单选按钮。
据我所知,下面的脚本应该可以工作,但不是,我不确定我现在做错了什么。有什么想法吗?
脚本
$("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>
[编辑下午 3: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);
});
最佳答案
不要使用 javascript 设置属性 checked="checked"
。相反,使用
radioButton.checked = true
使用 jquery 你可以做到,
$radios.filter('[value=likes]').get(0).checked = true
这是一个很好的小例子,http://jsfiddle.net/cu2y8/6/
关于jquery - 更改单选按钮值并使用 jquery 添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6398058/