Javascript 复选框的可变限制数量
我想限制复选框的数量,但不使用固定编号(即2),但我希望预先选择此限制 我能限制在一个小时内Javascript 复选框的可变限制数量,javascript,checkbox,limit,Javascript,Checkbox,Limit,我想限制复选框的数量,但不使用固定编号(即2),但我希望预先选择此限制 我能限制在一个小时内 在下面选择您最喜欢的国家: 选择限制12 美国 加拿大 日本 中国 法国 功能checkboxlimit(检查组、限制){ var checkgroup=checkgroup 风险限额=限额 对于(var i=0;i,这里有一个可能的解决方案: 您所要做的就是,不要提交限额控制变更事件的表单。按照代码/fiddler中所示单独处理变更事件 <p>Select your favorite co
在下面选择您最喜欢的国家:
选择限制12
美国
加拿大
日本
中国
法国
功能checkboxlimit(检查组、限制){
var checkgroup=checkgroup
风险限额=限额
对于(var i=0;i,这里有一个可能的解决方案:
您所要做的就是,不要提交限额控制变更事件的表单。按照代码/fiddler中所示单独处理变更事件
<p>Select your favorite countries below:</p>
<form id="world" name="world">
Select the limit<select id="limit"><option value="1">1</option><option value="2">2</option></select><br/>
<input type="checkbox" name="countries" /> USA<br />
<input type="checkbox" name="countries" /> Canada<br />
<input type="checkbox" name="countries" /> Japan<br />
<input type="checkbox" name="countries" /> China<br />
<input type="checkbox" name="countries" /> France<br />
</form>
function checkboxlimit(checkgroup, limit){
var checkgroup=checkgroup
var limit=limit
for (var i=0; i<checkgroup.length; i++){
checkgroup[i].onclick=function(){
var checkedcount=0
for (var i=0; i<checkgroup.length; i++)
checkedcount+=(checkgroup[i].checked)? 1 : 0
if (checkedcount>limit){
alert("You can only select a maximum of "+limit+" checkboxes")
this.checked=false
}
}
}
}
$('input[name="countries"]').on('change', function(){
var limit = $('#limit').find(':selected').val();
checkboxlimit(document.forms.world.countries, limit)
});
在下面选择您最喜欢的国家:
选择限制12
美国
加拿大
日本
中国
法国
功能checkboxlimit(检查组、限制){
var checkgroup=checkgroup
风险限额=限额
对于(var i=0;问题是用jQuery标记的,而不是javascript,你到底在用jQuery吗?是的,你是对的,我错了
<p>Select your favorite countries below:</p>
<form id="world" name="world">
Select the limit<select id="limit" onchange="this.form.submit()"><option value="1">1</option><option value="2">2</option></select><br/>
<input type="checkbox" name="countries" /> USA<br />
<input type="checkbox" name="countries" /> Canada<br />
<input type="checkbox" name="countries" /> Japan<br />
<input type="checkbox" name="countries" /> China<br />
<input type="checkbox" name="countries" /> France<br />
</form>
function checkboxlimit(checkgroup, limit){
var checkgroup=checkgroup
var limit=limit
for (var i=0; i<checkgroup.length; i++){
checkgroup[i].onclick=function(){
var checkedcount=0
for (var i=0; i<checkgroup.length; i++)
checkedcount+=(checkgroup[i].checked)? 1 : 0
if (checkedcount>limit){
alert("You can only select a maximum of "+limit+" checkboxes")
this.checked=false
}
}
}
}
var e = document.getElementById("limit");
var limit = e.options[e.selectedIndex].value;
checkboxlimit(document.forms.world.countries, limit)
<p>Select your favorite countries below:</p>
<form id="world" name="world">
Select the limit<select id="limit"><option value="1">1</option><option value="2">2</option></select><br/>
<input type="checkbox" name="countries" /> USA<br />
<input type="checkbox" name="countries" /> Canada<br />
<input type="checkbox" name="countries" /> Japan<br />
<input type="checkbox" name="countries" /> China<br />
<input type="checkbox" name="countries" /> France<br />
</form>
function checkboxlimit(checkgroup, limit){
var checkgroup=checkgroup
var limit=limit
for (var i=0; i<checkgroup.length; i++){
checkgroup[i].onclick=function(){
var checkedcount=0
for (var i=0; i<checkgroup.length; i++)
checkedcount+=(checkgroup[i].checked)? 1 : 0
if (checkedcount>limit){
alert("You can only select a maximum of "+limit+" checkboxes")
this.checked=false
}
}
}
}
$('input[name="countries"]').on('change', function(){
var limit = $('#limit').find(':selected').val();
checkboxlimit(document.forms.world.countries, limit)
});