$(":radio:checked).size() $(":checkbox:checked).size() 至于每组就用循环 $.each(array, function () {//假定array放的name $(":radio[name='" + this + "']:checked).size() })
<script type="text/javascript"> $("#NextQuestion").bind("click", function() { if (checkForm()) { $("form").submit(); } else { alert("请填写完整"); } }); function checkForm() { var myhash = new Hashtable(); var re = true; $("form :radio").add("form :checkbox").each(function() { var name = $(this).attr("name"); if (!myhash.contains(name)) { myhash.add(name, 1); } else { myhash.items[name]++; } } ); for (var name in myhash.items) { var sum = $("form :input[name='" + name + "']:checked").size(); if (sum == 0) { re = false; break; } } return re; } </script> 得瑟一下:)
//自定义哈希表类
function Hashtable()
{
this._hash = new Object(); // 创建Object对象
//哈希表的添加方法
this.add = function(key,value){
if(typeof(key)!="undefined"){
if(this.contains(key)==false){
this._hash[key]=typeof(value)=="undefined"?null:value;
return true;
} else {
return false;
}
} else {
return false;
}
}
//哈希表的移除方法
this.remove = function(key){delete this._hash[key];}
//哈希表内部键的数量
this.count = function(){var i=0;for(var k in this._hash){i++;} return i;}
//通过键值获取哈希表的值
this.items = function(key){return this._hash[key];}
//在哈希表中判断某个值是否存在
this.contains = function(key){ return typeof(this._hash[key])!="undefined";}
//清空哈希表内容的方法
this.clear = function(){for(var k in this._hash){delete this._hash[k];}} }
var myhash=new Hashtable(); //创建哈希表
myhash.add("name","张三"); //添加键和值
alert(myhash.item["name"]); //根据指定键显示哈希表的值
</script>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/superdullwolf/archive/2009/08/19/4463372.aspx
JQ里$(":radio 或者 :checkbox")怎么写?
$(":radio:checked).size()
$(":checkbox:checked).size()
至于每组就用循环
$.each(array, function () {//假定array放的name
$(":radio[name='" + this + "']:checked).size()
})
$("#NextQuestion").bind("click", function() {
if (checkForm()) {
$("form").submit();
}
else
{ alert("请填写完整"); }
});
function checkForm() {
var myhash = new Hashtable();
var re = true;
$("form :radio").add("form :checkbox").each(function() {
var name = $(this).attr("name");
if (!myhash.contains(name)) {
myhash.add(name, 1);
}
else {
myhash.items[name]++;
}
}
); for (var name in myhash.items) {
var sum = $("form :input[name='" + name + "']:checked").size();
if (sum == 0) {
re = false;
break;
}
}
return re;
}
</script>
得瑟一下:)
O(n^2)和O(n)的区别。不过意义不大,因为n最多大概是一百多。
就按照200算,是4万和2百次循环的差别,感觉不是很明显。
如果一千和一百万差别就明显了。