function check_info(id,value){
var data = $("#"+id+":checked").val();
if(value==1){
if(data == 'on'){
var id_val = id.substring(7);
$("#user_g"+id_val).css("display","block");
$(".chkbox_"+id_val).attr("checked","checked");
$("#user_hidden_"+id_val).val("2");
}
else{
var id_val = id.substring(7);
$("#user_hidden_"+id_val).val("0");
$("#user_g"+id_val).css("display","none");
$(".chkbox_"+id_val).attr("checked","");
$("#user_hidden_"+id_val).val("0");
}
}
......
......
}
应该从这里调用该函数,并根据复选框选项,它将显示以下div或hide。它适用于所有浏览器,但不适用于任何版本的IE。请帮忙。
<input name="gro_id_1" type="checkbox" id="gro_id_1" onclick="javascript:check_info(this.id,'1')" title="Office">
<div id="user_g1" class="gr_block">
--- outupt ---
</div>
答案 0 :(得分:3)
考虑:
if(data == 'on')
改为if ($("#"+id).is(":checked"))
.attr("checked", "")
替换为.removeAttr("checked")
将复选框事件与以下内容绑定,而不是onclick=
$(function() {
$("#gro_id_1").click(function() {
check_info(this.id, '1');
});
});
答案 1 :(得分:1)
我建议use $("#user_g"+id_val).show()
代替$("#user_g"+id_val).css("display","block");
和use $("#user_g"+id_val).hide()
代替$("#user_g"+id_val).css("display","none");
。
这可能不是问题,但这是隐藏和显示元素的更“jQuery标准”方式。
此外,value
var来自何处?是否在范围内,因为我无法在代码段中看到它。
onclick="javascript:check_info(this.id,'1')"
可能是你的问题。尝试Oren上面提出的建议。