【问题标题】:Trouble Displaying Radio Button Text With jQuery使用 jQuery 显示单选按钮文本时出现问题
【发布时间】:2015-10-28 18:48:21
【问题描述】:

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,因为我觉得这可能与它有关。

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

【问题讨论】:

    标签: javascript jquery haml


    【解决方案1】:

    text() 在这里不起作用,您需要在radio 之后立即更新textNode。使用nextSibling 获取文本节点并使用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>

    【讨论】:

      最近更新 更多