用jQuery点击选择单选按钮
问题描述:
我试图用jQuery点击单选按钮。我似乎无法得到这个工作,虽然。这是我目前的尝试。用jQuery点击选择单选按钮
JS
$(document).ready(function() {
$("#payment").click(function(event) {
event.preventDefault()
$("input:radio[name=slug_tier_1]").attr("checked", true)
})
});
HTML名
<label class="plans__tier-1__actions">
<%= radio_button_tag "slug", "tier_1", required: true %>
<a href="#" class="button" id="payment">Select</a>
</label>
截图
答
$("input[type='radio'][name='slug_tier_1']").attr("checked", true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="radio" name="slug_tier_1">
如果输入的名称是在呈现的HTML相同,则选择器应该是
$("input[type='radio'][name='slug_tier_1']").attr("checked", true);
类型应给予像任何其他属性在[]
。这个名字应该用引号引起来。见link
从回报率Docs
radio_button_tag 'gender', 'male'
# => <input id="gender_male" name="gender" type="radio" value="male" />
因此,在这种情况下,名称应该只是slug
。 slug_tier_1
是元素的ID。
可尝试
$("input[type='radio'][id='slug_tier_1']").attr("checked", true);
或者
$("input[type='radio'][name='slug']").attr("checked", true);
答
您的代码看起来不错。试试这个并检查控制台。可能有相同的ID
$(document).ready(function() {
console.log($("#payment"));
$("#payment").click(function(event) {
console.log($("input:radio[name=slug_tier_1]"));
})
});
检查,如果它返回一个单一的元素,或两者兼有#payment
或$("input:radio[name=slug_tier_1]")
尝试多种元素和回复
它的做工精细的多个元素,看看这个:HTTPS:/ /jsfiddle.net/gw7vfrnf/ –
您应该使用属性方法'prop',而不是属性方法'attr'。 – vol7ron