javascript找到控件ID

时间:2010-01-22 15:59:24

标签: javascript jquery

我有使用自动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;
};

2 个答案:

答案 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”