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中看到它,但不能在实际页面上看到它。提前感谢您的帮助。
答案 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>