我有使用自动ID生成的复选框
我正在使用以下功能:
getAllSelectedFeeds = function() {
var val = [];
$('input:checkbox:checked').each(function(i) {
val[i] = $(this).attr('id');
});
return val;
};
检查是否已选中任何复选框,但我仅希望它在其自动生成的ID中使用“selectedTask”的复选框控件运行,例如id="ctl00_m_g_95e8bffc_8200_46ac_887c_98522e26803c_ctl01_ctl02_selectedTask
这个javascript是否可以工作(使用jquery选择器)只选择在一个名为'feedSelector'的div中选中的复选框? //获取选中的复选框ID
getAllSelectedFeeds = function() {
var val = [];
$('#feedSelector:input:checkbox:checked').each(function(i) {
val[i] = $(this).attr('id');
});
return val;
};
答案 0 :(得分:3)
getAllSelectedFeeds = function() {
var val = [];
$('input:checkbox:checked[id*=selectedTask]').each(function(i) {
val[i] = $(this).attr('id');
});
return val;
};
(如果它始终以“selectedTask”结尾,则可以使用$ =而不是* =)
虽然我真的建议避免这样做,因为它必须搜索该字符串的每个ID,这是低效的。可能想要在复选框中添加一个类,这样你就可以查询它,因为它会快得多,特别是如果你开始获得很多复选框:
getAllSelectedFeeds = function() {
var val = [];
$('input.selectedTask:checked').each(function(i) {
val[i] = $(this).attr('id');
});
return val;
};
答案 1 :(得分:0)
getAllSelectedFeeds = function() {
var val = [];
$('input:checkbox:checked[id*=selectedTask]').each(function(i) {
val[i] = $(this).attr('id');
});
return val;
};
使用此功能,您将获得每个选中的复选框,其ID包含“selectedTask”