您的位置:首页 > Web前端 > JQuery

error:jquery不能输出我想要的内容

2014-08-19 10:57 155 查看
1、想通过each函数来遍历所有的input的value值。代码如下:
function SelectAll(o){
		
	var html = '';
		if( $(o).find("#select_all2").attr("checked") ){

			$(o).parent("p").siblings(".boxright_all").find("input").attr("checked",true);

			$(o).parent("p").siblings(".boxright_all").find("input").each(function(){
			
			
				if($(this).attr("check") == true||$(this).attr("check") == "checked")
				{
					html += $(this).val();
					alert("新的value");
				}
				
			});
			

			
		}else{
	
			$(o).parent("p").siblings(".boxright_all").find("input").removeAttr('checked');
		}

		alert(html);
}

但是html显示的是空的内容,很奇怪。。于是,我就怀疑可能是each函数中的if语句有问题,然后我就注释掉if语句,换成一个简单的显示语句,如下:

function SelectAll(o){
		
	var html = '';
		if( $(o).find("#select_all2").attr("checked") ){

			$(o).parent("p").siblings(".boxright_all").find("input").attr("checked",true);

			$(o).parent("p").siblings(".boxright_all").find("input").each(function(){
			
			alert($(this).val());
			/*	if($(this).attr("check") == true||$(this).attr("check") == "checked")
				{
					html += $(this).val();
					alert("新的value");
				}
			*/	
			});
						
		}else{
	
			$(o).parent("p").siblings(".boxright_all").find("input").removeAttr('checked');
		}

		//alert(html);
}
结果能显示出内容。看来结果很明显,是each中的if语句出问题了。

3、和正确的代码一比较,才发现attr("check")是不对的,正确的应该是attr("checked")最终正确的应该是

function SelectAll(o){
		
	var html = '';
		if( $(o).find("#select_all2").attr("checked") ){

				$(o).parent("p").siblings(".boxright_all").find("input").attr("checked",true);

				$(o).parent("p").siblings(".boxright_all").find("input").each(function(){
			

					if($(this).attr("checked") == true||$(this).attr("checked") == "checked")
					{
						html += $(this).val();
						html += ";";
					}
			
				});
						
		}else{
	
			$(o).parent("p").siblings(".boxright_all").find("input").removeAttr('checked');
		}

		alert(html);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐