2010-01-22 38 views
1

我有的JavaScript找到控件ID

我使用下面的功能的自動ID生成複選框:

getAllSelectedFeeds = function() { 
var val = []; 
$('input:checkbox:checked').each(function(i) { 
    val[i] = $(this).attr('id'); 
}); 
return val; 
}; 

它檢查是否所有複選框被選中,但我希望它爲運行這些複選框控件與「selectedTask」在其自動生成的ID內,如id="ctl00_m_g_95e8bffc_8200_46ac_887c_98522e26803c_ctl01_ctl02_selectedTask

這個javascript工作(使用jquery選擇器)只選擇在廣告中選中的複選框iv稱爲'feedSelector'? //獲取選擇複選框的ID

getAllSelectedFeeds = function() { 
var val = []; 
$('#feedSelector:input:checkbox:checked').each(function(i) { 
    val[i] = $(this).attr('id'); 
}); 
return val; 
}; 

回答

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; 
}; 
+0

如果我在名爲'feedSelector'的複選框中使用了一個div,那麼這個工作是否可以使用?('#feedSelector:input:checkbox:checked')。 ){ – test

+0

如果你這樣做了,你的選擇器的語法是$('#feedSelector input:checkbox:checked'),但是這樣做會有幫助。 – Parrots

0
getAllSelectedFeeds = function() { 
var val = []; 
$('input:checkbox:checked[id*=selectedTask]').each(function(i) { 
    val[i] = $(this).attr('id'); 
}); 
return val; 
}; 

有了這個你每一個選中的複選框,其中包含「selectedTask」

相關問題