【发布时间】:2018-05-16 04:00:32
【问题描述】:
我正在使用 JQuery 呈现带有单选按钮的表单,然后在单击提交按钮时尝试读取所选单选选项的值。但是我得到的只是未定义的值。
我尝试返回 .val() 并读取输入元素的属性,例如 .attr("name"),但所有内容都返回 'undefined'。
这是我在表单中创建输入元素的方法:
let options = $("<div></div>");
for (let answer of questionnaire[currentQuestion].answers) {
let a = $("<input></input>").attr({
"name":questionnaire[currentQuestion].name,
"type":"radio",
"value":answer.value
});
let l = $("<label></label>").text(answer.label);
options.append(a,l);
}
在浏览器页面中检查 HTML 元素时,每个输入元素如下所示:
<input name="comfortfood" type="radio" value="steak">
<label>Medim-rare flat iron Steak</label>
这就是我尝试读取值的方式:
$('input:radio[name='+questionnaire[currentQuestion].name+']:checked').val()
我在这里检查了其他线程(如this one),但仍然无法让我的代码工作。我对这一切都很陌生,所以可能遗漏了一些明显的东西。
编辑:我最终在每个单选按钮上创建了一个点击事件,然后按照@Sakata Gintoki 在下面的评论中的建议使用event.currentTarget 读取值
【问题讨论】:
标签: javascript jquery