我在尝试创建一个“测验生成器”的过程中遇到了困难。
我有一个表单,你可以在其中填写测验的答案选项,但是你也可以动态地创建具有新ID的新字段。
因此,它会创建具有id txtAnswer1、txtAnswer2等的新输入。
以下是获取值的(不起作用的)代码:
$("#AddNewQuiz").click(function () {
var NewQuizAlts = $("#txtAnswer").val();
var NewQuizQuestion = $("#NewQuizQuestion").val();
var init = {
'questions': [
{
'question': NewQuizQuestion,
'answersAlts': [NewQuizAlts,'Two','Three','Four'],
'correctAnswer': 1
}
]
}
您可以看到,这里仅获取了静态的第一个值。但我想获取在“循环”或其他方式中创建的所有值。
有人有任何想法吗?
谢谢!
感谢回答!
但我无法让它正常运转!
我尝试过以下方法:
$('input[id^="txtAnswer"]').each(function(input){
var value = $('input[id^="txtAnswer"]').val();
var id = $('input[id^="txtAnswer"]').attr('id');
alert('id: ' + id + ' value:' + value);
});
但是它只会给我警告(4次),指的是仅有最后一个创建的输入。可能出了什么问题?
关键是,这是我想要实现的内容:
1.) 使用上述代码获取所有已创建输入的列表。
2.) 将它们放在逗号分隔的列表中,其值如下:
QuestionAlts = [''+Alt1+'',''+Alt2+'',''+Alt3+''];
3.) 同时,根据创建的输入数量生成更多备选项列表,并将它们显示出来。例如,如果我创建了5个备选项,列表应该是:
QuestionAlts = [''+Alt1+'',''+Alt2+'',''+Alt3+'',''+Alt4+'',''+Alt5+''];
我明白如果要求你帮助翻译所有内容可能有点多,但是一个小部分总比没有好 :)
谢谢!