我在做动力节点的crm项目,在each中获取的this.value一直是on,并不像视频中所讲的可以直接获取到选中的checkbox的id值,请问这是怎么回事

我在做动力节点的crm项目,在each中获取的this.value一直是on,并不像视频中所讲的可以直接获取到选中的checkbox的id值,请问这是怎么回事?



```javascript
$("#deleteActivityBtn").click(function (){
            var checkedids = $("#tbody input[type='checkbox']:checked");
            if (checkedids.size() == 0){
                alert("未选中删除的活动!");
                return;
            }
            if (window.confirm("确定要删除活动吗?")){
                var ids = "";
                $.each(checkedids, function (event, obj){  //每有一个checkedids,就执行一次函数体
                    ids += "id=" + this.value + "&";
                    alert("-----"+obj.value[1])
                })
                ids = ids.substr(0, ids.length-1);
                alert(ids)
                $.ajax({
                    url: 'workbench/activity/deleteActivityByIds.do',
                    data: ids,
                    type: 'post',
                    dataType: 'json',
                    success: function (data){
                        if (data.code == "1"){
                            //删除成功之后,刷新市场活动列表,显示第一页数据,保持每页显示条数不变
                            queryActivityByConditionForPage(1, $("#page").bs_pagination('getOption', 'rowsPerPage'));
                        }
                        //*删除失败,提示信息,列表不刷新
                        alert(data.message);
                    }
                });
            }
        });


```

id 没有传过来 或者在哪里改变了

你好,在jQuery中,this关键字上下文通常是事件的DOM元素,而不是jQuery对象。因此,在.each()中使用this.value将提供复选框的“on / off”值,而不是实际的value属性。要获取实际的value属性,请使用$(this).val()。 所以您可以像下面这样更改您的代码:

$.each(checkedids, function (event, obj) {
    ids += "id=" + $(this).val() + "&";
    alert("-----" + $(this).val());
});