1


0

javascript検索コントロールID

自動IDで生成されたチェックボックスがあります

私は以下の機能を使用しています:

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

チェックボックスがチェックされているかどうかをチェックしますが、 `id =" ctl00_m_g_95e8bffc_8200_46ac_887c_98522e26803c_ctl01_ctl02_selectedTask`のような自動生成ID内の "selectedTask"を持つチェックボックスコントロールに対してのみ実行したい

「feedSelector」と呼ばれるdiv内でチェックされたチェックボックスのみを選択することにより、このjavascriptは(jqueryセレクタを使用して)機能しますか? //選択したチェックボックスIDを取得します

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

2 Answer


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


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

これにより、「selectedTask」を含むidを持つすべてのチェックボックスを取得します