我试图用jQuery点击单选按钮。我似乎无法让它工作。这是我目前的尝试。
$(document).ready(function() {
$("#payment").click(function(event) {
event.preventDefault()
$("input:radio[name=slug_tier_1]").attr("checked", true)
})
});
<label class="plans__tier-1__actions">
<%= radio_button_tag "slug", "tier_1", required: true %>
<a href="#" class="button" id="payment">Select</a>
</label>
答案 0 :(得分:1)
<a class="btn">button</a>
<input type="radio" class="radio">
$(".btn").click(function(){
$(".radio").prop("checked", true);
});
答案 1 :(得分:1)
$("input[type='radio'][name='slug_tier_1']").attr("checked", true);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="radio" name="slug_tier_1">
&#13;
如果输入的名称在呈现的HTML中相同,则选择器应为
$("input[type='radio'][name='slug_tier_1']").attr("checked", true);
类型应该像[]
中的任何其他属性一样给出。名称也应该用引号括起来。见link
来自RoR 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);
答案 2 :(得分:0)
您的代码看起来很好。试试这个并检查控制台。可能有多个相同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]")
尝试并回复