В div у меня есть флажок. Я хотел бы, когда я нажимаю кнопку, все флажки будут отмечены. Не могли бы вы рассказать мне, как это сделать?
<div id="MyDiv">
....
<td><%= Html.CheckBox("need_" + item.Id.ToString())%></td>
...
</div>
Спасибо,
В div у меня есть флажок. Я хотел бы, когда я нажимаю кнопку, все флажки будут отмечены. Не могли бы вы рассказать мне, как это сделать?
<div id="MyDiv">
....
<td><%= Html.CheckBox("need_" + item.Id.ToString())%></td>
...
</div>
Спасибо,
$(document).ready(function() {
$('#someButton').click(function() {
var names = [];
$('#MyDiv input:checked').each(function() {
names.push(this.name);
});
// now names contains all of the names of checked checkboxes
// do something with it
});
});
Так как никто не упомянул об этом.
Если все, что вам нужно, это массив значений, более простой альтернативой будет использование .map()
метод. Просто не забудьте вызвать .get()
, чтобы преобразовать объект jQuery в массив:
var names = $('.parent input:checked').map(function () {
return this.name;
}).get();
console.log(names);
var names = $('.parent input:checked').map(function () {
return this.name;
}).get();
console.log(names);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="parent">
<input type="checkbox" name="name1" />
<input type="checkbox" name="name2" />
<input type="checkbox" name="name3" checked="checked" />
<input type="checkbox" name="name4" checked="checked" />
<input type="checkbox" name="name5" />
</div>
Не тестировалось, но должно работать:
$("#MyDiv td input:checked").each(function()
{
alert($(this).attr("id"));
});
var aArray = [];
window.$( "#myDiv" ).find( "input[type=checkbox][checked]" ).each( function()
{
aArray.push( this.name );
});
Вы можете поместить его в функцию и выполнить по щелчку кнопки.
Вы должны использовать карту для этого.
$('input[type=checkbox]:checked').map(function(i, e) {
return $(e).val();
});
Попробуйте это.
var listCheck = [];
console.log($("input[name='YourCheckBokName[]']"));
$("input[name='YourCheckBokName[]']:checked").each(function() {
console.log($(this).val());
listCheck .push($(this).val());
});
console.log(listCheck);
var nameCheckBoxList = "myCheckListName";
var selectedValues = $("[name=" + nameCheckBoxList + "]:checked").map(function(){return this.value;});
Вы можете попробовать это...
$(document).ready(function() {
$("button").click(function(){
var checkBoxValues = [];
$.each($("input[name='check_name']:checked"), function(){
checkBoxValues.push($(this).val());
});
console.log(checkBoxValues);
});
});