与一堆示例进行斗争,并且仍然是jQuery / Javascript的新手,无法让我的代码运行(这里是我在gsp中的模板):
<table>
<thead>
<tr>
<th><input type="checkbox" name="selectAll" onclick="selectAll(this.checked);"/></th>
</tr>
</thead>
<tbody>
<td>
<td><input type="checkbox" name="domainList" value="${domainInstance.id}"/></td>
</tbody>
<table>
我的主gsp中有以下javascript片段,它调用模板:
function selectAll(status) {
}
如何从selectAll名称中选择所有复选框?
答案 0 :(得分:60)
由于您使用的是jQuery,因此您应该为selectAll使用如下所示的onclick
处理程序。
$(':checkbox[name=selectAll]').click (function () {
$(':checkbox[name=domainList]').prop('checked', this.checked);
});
请注意,上面的代码会查看name=selectAll
复选框的整个dom,并使用name=domainList
设置复选框的状态。
下面是一个稍微好一点的版本,标记更改很小,
$('#selectAllDomainList').click(function() {
var checkedStatus = this.checked;
$('#domainTable tbody tr').find('td:first :checkbox').each(function() {
$(this).prop('checked', checkedStatus);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<table id="domainTable">
<!-- Added ID -->
<thead>
<tr>
<th>
<!-- Added ID to below select box -->
<input type="checkbox" name="selectAll" id="selectAllDomainList" />
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input type="checkbox" name="domainList" value="${domainInstance.id}" />
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="domainList" value="${domainInstance.id}" />
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="domainList" value="${domainInstance.id}" />
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="domainList" value="${domainInstance.id}" />
</td>
</tr>
</tbody>
<table>
答案 1 :(得分:5)
$("input:checkbox").prop("checked", status);
答案 2 :(得分:1)
选择名称= selectAll的所有复选框并设置其可以执行的状态
function selectAll(status) {
$('input[name=selectAll]').each(function(){
$(this).prop('checked', status);
});
}