使用不同的变量调用递归函数
Call a recursive function with different variables
我是javascript的新手。我正在做一个反馈表单,其中有12个单选按钮需要单独验证,当我单击特定值时,会显示一个文本区域。
在这里,当我点击该按钮时,我显示的文本区域应该是强制性的(例如:当我点击结果问题中的失败选项时,我应该提到他在哪个主题中没有通过该文本区域。诸如此类)。
为此,我已经编写了代码,它可以很好地使用第一个单选按钮,但无法对其余按钮递归调用它。
我需要递归地调用函数中的代码,但我的变量每次都需要更改。就像第二次一样,我应该使用option2,text2,同样在下一次通话中使用option3,text3等。
var option = $("#form1 input[@name=radio1]:checked").val();
var text = document.getElementById("text1").value;
if (!$("#form1 input[@name=radio1]:checked").val()) {
alert("Please fill all the fields");
return false;
errs++;
} else if (option == "3" && trim(text) == "") {
alert("Please enter comments.");
return false;
}
需要为var option1到option10以及相同的text1到text10调用这段代码。类似:
var option2 = $("#form1 input[@name=radio2]:checked").val();
var text2 = document.getElementById("text2").value;
这应该在完成第一个单选按钮后立即调用。
请帮帮我。
"递归"在这里是错误的词。你只想在所有元素上循环。
把所有的收音机都拿来,然后循环播放。然后获取ID,以及与该ID相关联的所有字段。
我假设您使用的是jQuery,所以这里有一个例子:
// Note: The "@" is not needed in jQuery
var radios = $("#form1 input[name^='radio']"); // "^=" means "starts with"
radios.each(function(){
var id = this.name.replace('radio', ''); // this will get the number, eg: 1
var option = $(this).val(); // get radio's value
var text = $('#text'+id).val(); // get textX's value
if(!$(this).is(':checked')){ // check if radio is checked
alert("Please fill all the fields");
errs++; // make sure to do this before "return false"
return false; // break the .each loop
}
else if (option == "3" && trim(text) == "") {
alert("Please enter comments.");
return false;
}
});
相关文章:
- 从带参数的字符串变量调用函数中的函数
- 将方法从控制器注入到未使用右变量调用的指令
- 为什么可以对整数变量调用toString(),而不能对文字数字调用
- 我可以对变量调用“.log”吗?
- 是否可以对超出范围的 setInterval 变量调用 clearInterval 方法
- 对模板中的胡子变量调用方法
- 使用不同的变量调用递归函数
- Jquery中的变量调用
- 将循环变量调用到自动压缩选择中
- 如何在 jquery 中用变量调用变量
- jQuery,从变量调用数组对象的一部分
- 在 AngularJS 中使用绑定变量调用控制器方法
- 如何使用变量调用对象及其方法
- 是否可以对变量调用jquery函数
- Android:从javascript传递变量调用Java中的函数
- 带有变量调用的谷歌地图API实现
- 无法对数字变量调用 toFixed
- 如何将嵌套的全局或本地jquery变量调用到html中
- Javascript:如何通过变量调用函数并传递参数
- 对字符串变量调用toUppercase()