我有使用自动ID生成的复选框
我正在使用以下功能:
getAllSelectedFeeds = function() {
var val = [];
$('input:checkbox:checked').each(function(i) {
val[i] = $(this).attr('id');
});
return val;
};
它会检查是否选中了任何复选框,但我只希望它针对其自动生成的ID(例如
id="ctl00_m_g_95e8bffc_8200_46ac_887c_98522e26803c_ctl01_ctl02_selectedTask
)中具有“ selectedTask”的那些复选框控件运行通过仅选择在名为“ feedSelector”的div中选中的那些复选框,此javascript是否可以工作(使用jquery选择器)?
//获取选中的复选框ID
getAllSelectedFeeds = function() {
var val = [];
$('#feedSelector:input:checkbox:checked').each(function(i) {
val[i] = $(this).attr('id');
});
return val;
};
最佳答案
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;
};