我有一个简单的问题但是我尝试了很多东西,但是它们没有像我期望的那样工作。
问题: 1.一些复选框,类似“a”,“b”,“c”但具有不同的id。 2.在按钮上单击我尝试验证只选中了一个复选框。 3.我只知道复选框类(公共元素)
我的代码:
$('#submit').click(function() {
var matches = [];
var items = document.getElementsByClassName('1'); //??? if the items is null?
for (var i = 0; i < items.length; i++){
matches.push({id:items[i].id, value:items[i].value});
}
if((matches[0].id != matches[1].id) &&(matches[0].value == matches[1].value))
alert("ERROR!!!");
});
请告诉我解决该问题的最佳方法
答案 0 :(得分:2)
您正在使用jQuery。你想使用带有classname&#34; 1&#34;的复选框。几乎就像它们是单选按钮一样,如果检查了多个按钮,则发出错误警告。您的classname is invalid,您很可能应该在表单提交上进行检查,但这里是您正在寻找的代码。
$('#submit').click(function() {
if ($('.1:checked').length > 1) alert('error');
});
...我想你也想在这种情况下停止提交表格按钮:
$('#submit').click(function(e) {
if ($('.1:checked').length > 1) {
e.preventDefault();
alert('error');
}
});
答案 1 :(得分:1)
See this code it may be help you!
<input type = "checkbox" class = "a ownClass" id = "one"></input>
<input type = "checkbox" class = "b ownClass" id = "two"></input>
<input type = "checkbox" class = "c ownClass" id = "three"></input>
<input type = "button" id = "submit" value = "submit"></input>
(function(){
$("#submit").click(function(){
var checked = [];
$(".ownClass").each(function(currIndex, val){
if($(this).is(':checked')){
checked.push(this.id);
}
})
console.log(checked);
});
}());