使用jQuery显示单选按钮文本时出现问题

时间:2015-10-28 18:48:21

标签: javascript jquery haml

HAML

%body
%div.container
  %section#questions
    %form
      %label#questionLabel
        %input(type="radio" id="question1" value="") 
        %input(type="radio" id="question2" value="") 2
        %input(type="radio" id="question3" value="") 
        %input(type="radio" id="question4" value="") 4
        %div(style="clear:both")
        %input(type="button" id="submitButton" value="Submit")

的JavaScript

$("#submitButton").click(function() {
$("#question1").val(1);
$("#question1").text("1");

})

我不确定我在这里做错了什么。我点击按钮时试图更改单选按钮的文本。我发布了我的HAML而不是HTML,因为我觉得这可能与它有关。

当我将数字直接放入HAML时就像我使用#question2和#question4一样,文本显示在页面上就像它应该的那样。但是,当我尝试通过jQuery添加文本时,没有任何显示。我可以在Dev Tools中的DOM中看到它,但不能在实际页面上看到它。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

text()无法在此处运行,您需要在textNode之后立即更新radio。使用nextSibling获取textnode并使用nodeValue

更新值

$("#submitButton").click(function() {
  $("#question1")[0].nextSibling.nodeValue = '1';
  $("#question1").vav("1");
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="radio" id="question1" value="">
<input type="radio" id="question2" value="">
<input id=submitButton vlaue=submit type=button>