В 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);
});
});