Kri*_*s-I 34 javascript jquery
在div中,我有一些复选框.我想当我按下按钮时,选中所有复选框的名称.你能告诉我怎么做吗?
<div id="MyDiv">
....
<td><%= Html.CheckBox("need_" + item.Id.ToString())%></td>
...
</div>
Run Code Online (Sandbox Code Playgroud)
谢谢,
TM.*_*TM. 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
});
});
Run Code Online (Sandbox Code Playgroud)
既然没人提到这个......
如果你想要的只是一个值数组,那么更容易的选择就是使用该.map()
方法.只记得调用.get()
将jQuery对象转换为数组:
var names = $('.parent input:checked').map(function () {
return this.name;
}).get();
console.log(names);
Run Code Online (Sandbox Code Playgroud)
var names = $('.parent input:checked').map(function () {
return this.name;
}).get();
console.log(names);
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)
纯JavaScript:
var elements = document.querySelectorAll('.parent input:checked');
var names = Array.prototype.map.call(elements, function(el, i) {
return el.name;
});
console.log(names);
Run Code Online (Sandbox Code Playgroud)
var elements = document.querySelectorAll('.parent input:checked');
var names = Array.prototype.map.call(elements, function(el, i){
return el.name;
});
console.log(names);
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)