如何通过jsf中的单个复选框select所有复选框
how to select a all the checkboxes by a single checkbox in jsf
我正在尝试使用 Jsf 检查所有复选框,但它无法 checking.I 编写了这样的代码....如果我 select 在 header 部分的所有复选框都需要 selected。
<h:selectBooleanCheckbox id="c1" value="#{user.check}"></h:selectBooleanCheckbox>
<h:outputText value="name">name</h:outputText>
<h:outputText value="age">Age</h:outputText>
<h:selectBooleanCheckbox id="c2"></h:selectBooleanCheckbox>
<h:outputText value="A">A</h:outputText>
<h:outputText value="12">12</h:outputText>
<h:selectBooleanCheckbox id="c3"></h:selectBooleanCheckbox>
<h:outputText value="B">B</h:outputText>
<h:outputText value="14">14</h:outputText>
<h:selectBooleanCheckbox id="c4"></h:selectBooleanCheckbox>
<h:outputText value="C">C</h:outputText>
<h:outputText value="16">16</h:outputText>
<h:selectBooleanCheckbox id="c5"></h:selectBooleanCheckbox>
<h:outputText value="D">D</h:outputText>
<h:outputText value="18">18</h:outputText>
我的mangedbean是这样的
@ManagedBean(名称="user")
public class Userbean {
public boolean check;
public boolean isCheck() {
return true;
}
public void setCheck(boolean check) {
this.check = check;
}
}
我不知道如何为此编写逻辑,我正在尝试这个...可以提供帮助
Jsp
<input type="checkbox" id="selecctall"/>Select All</th>
<input type="checkbox" class="checkbox1" id="checkbox" name="checkbox1" value="${al.id}"/>
$(document).ready(function() {
$('#selecctall').click(function(event) { //on click
if(this.checked) { // check select status
$('.checkbox1').each(function() { //loop through each checkbox
this.checked = true; //select all checkboxes with class "checkbox1"
});
}else{
$('.checkbox1').each(function() { //loop through each checkbox
this.checked = false; //deselect all checkboxes with class "checkbox1"
});
}
});
});
jsf page
<h:column>
<f:facet name="header">
<h:selectBooleanCheckbox id="g1" onclick="selectall(sel)"></h:selectBooleanCheckbox>
</f:facet>
<h:selectBooleanCheckbox id="g2"></h:selectBooleanCheckbox>
</h:column>
and javascript
<script type="text/javascript">
checked=false;
function selectall(sel)
{
var sele=document.getElementById('sel');
if(checked==false)
{
checked=true;
}
else
{
checked=false;
}
for(var i=0;i!=sele.elements[i];i++)
{
sele.elements[i].checked=checked;
}
}
</script>
我正在尝试使用 Jsf 检查所有复选框,但它无法 checking.I 编写了这样的代码....如果我 select 在 header 部分的所有复选框都需要 selected。
<h:selectBooleanCheckbox id="c1" value="#{user.check}"></h:selectBooleanCheckbox>
<h:outputText value="name">name</h:outputText>
<h:outputText value="age">Age</h:outputText>
<h:selectBooleanCheckbox id="c2"></h:selectBooleanCheckbox>
<h:outputText value="A">A</h:outputText>
<h:outputText value="12">12</h:outputText>
<h:selectBooleanCheckbox id="c3"></h:selectBooleanCheckbox>
<h:outputText value="B">B</h:outputText>
<h:outputText value="14">14</h:outputText>
<h:selectBooleanCheckbox id="c4"></h:selectBooleanCheckbox>
<h:outputText value="C">C</h:outputText>
<h:outputText value="16">16</h:outputText>
<h:selectBooleanCheckbox id="c5"></h:selectBooleanCheckbox>
<h:outputText value="D">D</h:outputText>
<h:outputText value="18">18</h:outputText>
我的mangedbean是这样的
@ManagedBean(名称="user") public class Userbean {
public boolean check;
public boolean isCheck() {
return true;
}
public void setCheck(boolean check) {
this.check = check;
}
}
我不知道如何为此编写逻辑,我正在尝试这个...可以提供帮助
Jsp
<input type="checkbox" id="selecctall"/>Select All</th>
<input type="checkbox" class="checkbox1" id="checkbox" name="checkbox1" value="${al.id}"/>
$(document).ready(function() {
$('#selecctall').click(function(event) { //on click
if(this.checked) { // check select status
$('.checkbox1').each(function() { //loop through each checkbox
this.checked = true; //select all checkboxes with class "checkbox1"
});
}else{
$('.checkbox1').each(function() { //loop through each checkbox
this.checked = false; //deselect all checkboxes with class "checkbox1"
});
}
});
});
jsf page
<h:column>
<f:facet name="header">
<h:selectBooleanCheckbox id="g1" onclick="selectall(sel)"></h:selectBooleanCheckbox>
</f:facet>
<h:selectBooleanCheckbox id="g2"></h:selectBooleanCheckbox>
</h:column>
and javascript
<script type="text/javascript">
checked=false;
function selectall(sel)
{
var sele=document.getElementById('sel');
if(checked==false)
{
checked=true;
}
else
{
checked=false;
}
for(var i=0;i!=sele.elements[i];i++)
{
sele.elements[i].checked=checked;
}
}
</script>