JavaScript复选框选择顺序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaScript复选框选择顺序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3259字,纯文字阅读大概需要5分钟。
内容图文
![JavaScript复选框选择顺序](/upload/InfoBanner/zyjiaocheng/652/a5af93a255b44ac6a248981472955923.jpg)
我将如何检测复选框的选中顺序?我在表单上有一个复选框列表,我需要让用户选择他们的第一和第二选择(但没有更多选择).因此,鉴于此:
<input name="checkbox1" type="checkbox" value="a1"> Option 1
<input name="checkbox1" type="checkbox" value="a2"> Option 2
<input name="checkbox1" type="checkbox" value="a3"> Option 3
<input name="checkbox1" type="checkbox" value="a4"> Option 4
如果有人选择了选项2,然后选择了选项3,则我想说明一下选项2是第一选择,选项3是第二选择.有任何想法吗?
提前致谢.
更新:
这些都是非常有用的建议,谢谢.当我测试这些示例时,它使我对如何解决该问题有了更好的了解-但我仍然有些困惑(我是JS新手).我想要做的是在复选框处于选中状态或未选中状态时更改这些标签,以指示哪个是第一选择还是第二选择:
<label id="lblA1"></label><input name="checkbox1" type="checkbox" value="a1"> Option 1
<label id="lblA2"></label><input name="checkbox1" type="checkbox" value="a2"> Option 2
<label id="lblA3"></label><input name="checkbox1" type="checkbox" value="a3"> Option 3
<label id="lblA4"></label><input name="checkbox1" type="checkbox" value="a4"> Option 4
因此,如果有人单击选项2,则选项3,lblA2将显示“第一”,lblA3将显示“第二”.如果在选项3仍处于选中状态时取消选中选项2,则lblA3变为“第一”.希望这有意义吗?
谢谢!
解决方法:
如果您使用的是jQuery.下面的代码是您所解释的,并且已经过测试.
我使用了全局变量.
<input name="checkbox1" type="checkbox" value="a1" /> Option 1
<input name="checkbox1" type="checkbox" value="a2" /> Option 2
<input name="checkbox1" type="checkbox" value="a3" /> Option 3
<input name="checkbox1" type="checkbox" value="a4" /> Option 4
<input type="button" value="do" id="btn" />
如下所示,它还处理用户取消选择的情况.
$(document).ready(function () {
var first = "";
var second = "";
$('input[name="checkbox1"]').change(function () {
if ($(this).attr('checked')) {
if (first == "") {
first = $(this).attr('value');
}
else if (second == "") {
second = $(this).attr('value');
}
}
else {
if (second == $(this).attr('value')) {
second = "";
}
else if (first == $(this).attr('value')) {
first = second;
second = "";
}
}
});
$('#btn').click(function () {
alert(first);
alert(second);
});
});
希望对您有所帮助.
更新[重要]:
我注意到我以前的代码是不完整的,例如,如果您先检查a1,然后再检查a2,然后再检查a3,然后再取消选中a2;我的代码无法将a3识别为秒.
这是您所更新问题的完整解决方案.这次我使用了数组.
完整的HTML:
<label id="lblA1"></label>
<input name="checkbox1" type="checkbox" value="a1" /> Option 1
<label id="lblA2"></label>
<input name="checkbox1" type="checkbox" value="a2" /> Option 2
<label id="lblA3"></label>
<input name="checkbox1" type="checkbox" value="a3" /> Option 3
<label id="lblA4"></label>
<input name="checkbox1" type="checkbox" value="a4" /> Option 4
完整的Javascript:
$(document).ready(function () {
var array = [];
$('input[name="checkbox1"]').click(function () {
if ($(this).attr('checked')) {
// Add the new element if checked:
array.push($(this).attr('value'));
}
else {
// Remove the element if unchecked:
for (var i = 0; i < array.length; i++) {
if (array[i] == $(this).attr('value')) {
array.splice(i, 1);
}
}
}
// Clear all labels:
$("label").each(function (i, elem) {
$(elem).html("");
});
// Check the array and update labels.
for (var i = 0; i < array.length; i++) {
if (i == 0) {
$("#lbl" + array[i].toUpperCase()).html("first");
}
if (i == 1) {
$("#lbl" + array[i].toUpperCase()).html("second");
}
}
});
});
内容总结
以上是互联网集市为您收集整理的JavaScript复选框选择顺序全部内容,希望文章能够帮你解决JavaScript复选框选择顺序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。