Как получить значение выбранного флажка с определенным именем с помощью jquery

#jquery #checkbox

#jquery #флажок

Вопрос:

у меня есть этот флажок с другим именем, но все имена начинаются с CheckUser

 <input type="checkbox" value="60176694447" name="checkUser52106">
<input type="checkbox" value="60176694448" name="checkUser52107">
<input type="checkbox" value="60176694449" name="checkUser52108">
  

Быстрый поиск в Google принес мне эту функцию из sitepoint

 $(function(){
$('#btnClick').click(function(){
var val = [];
$(':checkbox:checked').each(function(i){
  val[i] = $(this).val();
});
});
});
  

Прямо сейчас я хочу получить все значение выбранного флажка с именем, начинающимся с CheckUser. Как этого добиться?

Ответ №1:

Используйте атрибут StartsWith selector:

 $(':checkbox[name^="checkUser"]:checked').each(function(i){
    val[i] = $(this).val();
});
  

Вместо этого вы можете использовать .map для более короткого решения:

 var val = $(':checkbox[name^="checkUser"]:checked').map(function(){
    return this.value;
}).get();
  

Ответ №2:

Используйте селектор типов CSS3, подобный этому

 $('input[name=~"checkUser"]:checked').each( function(idx) {
    val[idx] = $(this).val();
});
  

Редактировать: о, тот же точный ответ, что и выше: P