Jquery checkbox选中问题

checkbox中有.checked的写法,判断当前是否是选中状态,不过这种是针对[object HTMLInputElement]这种类型的,而对于[object Object]这种类型是不能使用的

$("#checkall").checked会出现undefined

 $("#checkall").click(function () {
            if ($("#checkall").attr("checked")) {//jquery对象进行判定选中状态,还有一种是prop
                $("input:checkbox[name='ids']").each(function () {
//这里的this对象的类型和$()->[object Object]不同,是[object HTMLInputElement]类型的
                    if (!this.checked) {//是this,不是$(this)
                        this.checked = true;
                    }
                });
            } else {
                $("input:checkbox[name='ids']").each(function () {
                    if (this.checked) {
                        this.checked = false;
                    }
                });
            }
        })

另外一种情况则是一般的对checkbox对象处理

$("p[name='TypeRadio'] input:radio").click(function () {
            var sceneliststr = $(this).attr("select_activityscene_list_str");//json化对象Gather204ActivitySceneDTO
            var obj = $("#choose_activebox_" + $(this).val());
            if (sceneliststr != "") {
                var array = JSON.parse(sceneliststr);
                $(obj).find("input.js-choose").each(function () {
                    $(this).prop("checked", false);//attr("checked",false)是无效的
                    for (var i = 0; i < array.length; i++) {
                        if ($(this).val() == array[i].ActivitySceneID) {
                            $(this).prop("checked", true);
                            break;
                        }
                    }
                })
            }
            else {
                $(obj).find("input.js-choose").each(function () {
                    $(this).prop("checked", false);
                })
            }
            $(obj).show();
        });

 

posted @ 2016-10-11 09:23  Danlis  阅读(340)  评论(0编辑  收藏  举报