Javascript 是否可以将';选中复选框的数量限制';以多种形式进入循环?
我正在创建一个页面,用户将填写由多个表单组成的表单。每种形式都有不同的最大可能答案数。如何最小化代码行数并将此代码放入循环中?我尝试基于数组进行循环,但我仍然不知道如何在每次循环时更改Javascript 是否可以将';选中复选框的数量限制';以多种形式进入循环?,javascript,html,forms,loops,checkbox,Javascript,Html,Forms,Loops,Checkbox,我正在创建一个页面,用户将填写由多个表单组成的表单。每种形式都有不同的最大可能答案数。如何最小化代码行数并将此代码放入循环中?我尝试基于数组进行循环,但我仍然不知道如何在每次循环时更改$(“input[name='Pytanie1'])。我想将javascript放入循环中: $(document).ready(function () { $("input[name='Question1']").change(function () {
$(“input[name='Pytanie1'])
。我想将javascript放入循环中:
$(document).ready(function () {
$("input[name='Question1']").change(function () {
var maxAllowed = 2;
var cnt = $("input[name='Question1']:checked").length;
if (cnt > maxAllowed) {
$(this).prop("checked", "");
alert('Choose max. ' + maxAllowed + ' answers!');
}
});
});
$(document).ready(function () {
$("input[name='Question2']").change(function () {
var maxAllowed = 3;
var cnt = $("input[name='Question2']:checked").length;
if (cnt > maxAllowed) {
$(this).prop("checked", "");
alert('Choose max. ' + maxAllowed + ' answers!');
}
});
});
$(document).ready(function () {
$("input[name='Question3']").change(function () {
var maxAllowed = 3;
var cnt = $("input[name='Question3']:checked").length;
if (cnt > maxAllowed) {
$(this).prop("checked", "");
alert('Choose max. ' + maxAllowed + ' answers!');
}
});
});
谢谢你的帮助 那么,您只需创建一个最大允许值数组:
var maxAllowed = [2, 3, 3];
并迭代:
for (var i = 0; i < maxAllowed.length; i++) {
$(document).ready(function () {
var j = i;
$("input[name='Question" + (j + 1) + "']").change(function () {
var cnt = $("input[name='Question" + (j + 1) + "']:checked").length;
if (cnt > maxAllowed[j]) {
$(this).prop("checked", "");
alert('Choose max. ' + maxAllowed[j] + ' answers!');
}
});
});
}
for(变量i=0;imaxAllowed[j]){
$(this.prop(“选中”和“”);
警报('Choose max.+maxAllowed[j]+'answers!');
}
});
});
}
编辑:在我以前的代码中似乎有一个关闭错误。抱歉您可以简单地创建一个最大允许值数组:
var maxAllowed = [2, 3, 3];
并迭代:
for (var i = 0; i < maxAllowed.length; i++) {
$(document).ready(function () {
var j = i;
$("input[name='Question" + (j + 1) + "']").change(function () {
var cnt = $("input[name='Question" + (j + 1) + "']:checked").length;
if (cnt > maxAllowed[j]) {
$(this).prop("checked", "");
alert('Choose max. ' + maxAllowed[j] + ' answers!');
}
});
});
}
for(变量i=0;imaxAllowed[j]){
$(this.prop(“选中”和“”);
警报('Choose max.+maxAllowed[j]+'answers!');
}
});
});
}
编辑:在我以前的代码中似乎有一个关闭错误。抱歉一个可重用的HTML驱动解决方案
我使用了data-
HTML属性来提供最大价值和可重用的jQuery代码,这些代码可以放在任何需要它的页面上,也可以更改为jQuery插件
这是我使用的HTML
一种可重用的HTML驱动解决方案
我使用了data-
HTML属性来提供最大价值和可重用的jQuery代码,这些代码可以放在任何需要它的页面上,也可以更改为jQuery插件
这是我使用的HTML
为什么要把这个循环?我不知道你是什么意思?你的代码肯定需要重构,因为每个问题都有重复的行……为什么要把它放在循环中?我不知道你是什么意思?你的代码肯定需要重构,因为你的每个问题都有重复的行…通常你的代码不起作用。我不知道为什么,因为它似乎是好的。我认为引号可能会有一些问题,但它也不起作用:/n通常,您的代码不起作用。我不知道为什么,因为它似乎是好的。我认为引号可能存在一些问题,但它也不起作用:/