需要获取 jquery 数据表中所有未勾选复选框的值
Need to get values of all non ticked checkboxes in jquery datatable
您好,我正在使用带分页的 jquery 数据 table,列表非常庞大,似乎有 365 页左右(即:jquery 分页,每页有 10 个结果) .
用户可以从任何页面中选择复选框,因此当前正在获取他在所有页面上勾选的所有复选框的值 pagination.Am 通过
获取勾选的值
var oTable = $('#assignUser').dataTable();
var rowcollectionChecked = oTable.$(".rowCheckerClass:checked", {"page": "all"});
这似乎工作正常。
现在我需要获取数组中所有未勾选的复选框值,不包括选定的复选框。
有人可以帮我解决这个问题吗?
AM 无法创建 fiddle
这是被调用的 onClick 事件
Liferay.provide(
window,
'<portlet:namespace/>submitFormForAction',
function() {
var accepted = confirm('<%= UnicodeLanguageUtil.get(pageContext,
"are-you-sure-you-want-to-update-associations") %>');
var oTable = $('#assignUser').dataTable();
var rowcollectionChecked = oTable.$(".rowCheckerClass:checked", {"page": "all"});
var rowcollectionNotChecked =oTable.$(".rowCheckerClass:not(checked)", {"page": "all"});
var checkedIds = [];
var notCheckedIds = [];
rowcollectionChecked.each(function(index,elem){
var checkbox_value = $(elem).val();
checkedIds.push($(this).val());
});
rowcollectionNotChecked.each(function(index,elem){
var checkbox_value = $(elem).val();
notCheckedIds.push($(this).val());
});
if (accepted) {
var frm = document.<portlet:namespace/>fm;
var hiddenField1 = frm.<portlet:namespace/>addUserIds;
var hiddenField2 = frm.<portlet:namespace/>removeUserIds;
hiddenField1.value = checkedIds;
hiddenField2.value = notCheckedIds
submitForm(frm);
}
},
['liferay-util-list-fields']
);
选中的值似乎没问题,但对于未选中的值,它返回整个数据的计数
请帮忙
就这么简单:
在checked
前添加not
var rowcollectionChecked = oTable.$(".rowCheckerClass:not(checked)", {"page": "all"});
尝试这样的事情,
var rowcollectionChecked = oTable.$(".rowCheckerClass:not(:checked)", {"page": "all"});
您好,我正在使用带分页的 jquery 数据 table,列表非常庞大,似乎有 365 页左右(即:jquery 分页,每页有 10 个结果) . 用户可以从任何页面中选择复选框,因此当前正在获取他在所有页面上勾选的所有复选框的值 pagination.Am 通过
获取勾选的值 var oTable = $('#assignUser').dataTable();
var rowcollectionChecked = oTable.$(".rowCheckerClass:checked", {"page": "all"});
这似乎工作正常。
现在我需要获取数组中所有未勾选的复选框值,不包括选定的复选框。 有人可以帮我解决这个问题吗?
AM 无法创建 fiddle 这是被调用的 onClick 事件
Liferay.provide(
window,
'<portlet:namespace/>submitFormForAction',
function() {
var accepted = confirm('<%= UnicodeLanguageUtil.get(pageContext,
"are-you-sure-you-want-to-update-associations") %>');
var oTable = $('#assignUser').dataTable();
var rowcollectionChecked = oTable.$(".rowCheckerClass:checked", {"page": "all"});
var rowcollectionNotChecked =oTable.$(".rowCheckerClass:not(checked)", {"page": "all"});
var checkedIds = [];
var notCheckedIds = [];
rowcollectionChecked.each(function(index,elem){
var checkbox_value = $(elem).val();
checkedIds.push($(this).val());
});
rowcollectionNotChecked.each(function(index,elem){
var checkbox_value = $(elem).val();
notCheckedIds.push($(this).val());
});
if (accepted) {
var frm = document.<portlet:namespace/>fm;
var hiddenField1 = frm.<portlet:namespace/>addUserIds;
var hiddenField2 = frm.<portlet:namespace/>removeUserIds;
hiddenField1.value = checkedIds;
hiddenField2.value = notCheckedIds
submitForm(frm);
}
},
['liferay-util-list-fields']
);
选中的值似乎没问题,但对于未选中的值,它返回整个数据的计数 请帮忙
就这么简单:
在checked
not
var rowcollectionChecked = oTable.$(".rowCheckerClass:not(checked)", {"page": "all"});
尝试这样的事情,
var rowcollectionChecked = oTable.$(".rowCheckerClass:not(:checked)", {"page": "all"});