在div中,我有一些复选框。我想当我按下按钮时,选中所有复选框的名称。你能告诉我怎么做吗?
<div id="MyDiv">
....
<td><%= Html.CheckBox("need_" + item.Id.ToString())%></td>
...
</div>
谢谢,
答案 0 :(得分:75)
$(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
});
});
答案 1 :(得分:9)
因为没人提到这个..
如果你想要的只是一个值数组,那么更简单的选择就是使用.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);
&#13;
<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>
&#13;
Pure JavaScript:
var elements = document.querySelectorAll('.parent input:checked');
var names = Array.prototype.map.call(elements, function(el, i) {
return el.name;
});
console.log(names);
var elements = document.querySelectorAll('.parent input:checked');
var names = Array.prototype.map.call(elements, function(el, i){
return el.name;
});
console.log(names);
&#13;
<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>
&#13;
答案 2 :(得分:4)
var aArray = [];
window.$( "#myDiv" ).find( "input[type=checkbox][checked]" ).each( function()
{
aArray.push( this.name );
});
您可以将它放在一个函数中,然后单击该按钮执行。
答案 3 :(得分:3)
未经测试但应该有效:
$("#MyDiv td input:checked").each(function()
{
alert($(this).attr("id"));
});
答案 4 :(得分:2)
你应该使用map。
$('input[type=checkbox]:checked').map(function(i, e) {
return $(e).val();
});
答案 5 :(得分:1)
试试这个..
var listCheck = [];
console.log($("input[name='YourCheckBokName[]']"));
$("input[name='YourCheckBokName[]']:checked").each(function() {
console.log($(this).val());
listCheck .push($(this).val());
});
console.log(listCheck);
答案 6 :(得分:0)
var nameCheckBoxList = "myCheckListName";
var selectedValues = $("[name=" + nameCheckBoxList + "]:checked").map(function(){return this.value;});
答案 7 :(得分:0)
你可以试试这个......
(randomlist 5 10)
=> '(10 7 1 4 8) ; results will vary, obviously