我有使用自动 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 是否可以通过仅选择那些在名为“feedSelector”的 div 中选中的复选框来工作(使用 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;
};
关于JavaScript 查找控件 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2118504/