单击jQuery选择单选按钮

时间:2017-04-15 02:24:45

标签: javascript jquery ruby-on-rails

我试图用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>

名称

的屏幕截图

enter image description here 这好像应该有用吗?什么东西都跳出来?

3 个答案:

答案 0 :(得分:1)

<a class="btn">button</a>
<input type="radio" class="radio">

$(".btn").click(function(){
    $(".radio").prop("checked", true);
});

答案 1 :(得分:1)

&#13;
&#13;
$("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;
&#13;
&#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" />

因此,在这种情况下,名称应该只是slugslug_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]")

返回单个元素或多个元素

尝试并回复