2015-06-24 535 views
1

我需要在S2中创建多个复选框,如下所示。在Struts2中创建多个复选框

enter image description here

使用此代码,我只得到一个复选框

public class EmployeeListBean { 
private String empCode = null; 
private String empName = null; 
public EmployeeListBean(String empCode,String empName) 
{ 
    //constructor 
} 
//setter and getter methods 
} 

在动作类

public ArrayList<EmployeeListBean> getListOfEmployees() 
{ 
    return listOfEmployees; 
} 

在执行()

listOfEmployees = new ArrayList<EmployeeListBean>(); 
    listOfEmployees.add(new EmployeeListBean("1", "Smith")); 

在JSP中,

<s:iterator value="listOfEmployees"> 
<s:checkbox name="someselectedname" label="%{empName}" fieldValue="%{empCode}"/><br/> 
</s:iterator> 

我遵循正常的方式。这里我想在三个复选框中只选择一个复选框。所以我们可以在JS或Jquery中完成。在HTML中,它就像

<label>abc:&nbsp;</label> 
    <input type="checkbox" name="ballet" /> 
    <input type="checkbox" name="ballet" /> 
    <input type="checkbox" name="ballet" /> 
    <br/> 
    <label>def:&nbsp;</label> 
    <input type="checkbox" name="ballet1" /> 
    <input type="checkbox" name="ballet1" /> 
    <input type="checkbox" name="ballet1" /> 

但我想要以上格式。如何在S2中做到这一点。

+0

那么我建议使用单选按钮而不是复选框。 – Ranjitsinh

回答

0

我找到了一个解决方案。根据我的需要,我需要更改一些字段值以获取相应的复选框值。

在JSP:

<s:iterator value="listOfEmployees"> 
    <s:property value="%{empName}" />&nbsp; 
    <s:checkbox name="someselectedname%{empCode}" fieldValue="%{empCode}" theme="simple"/>&nbsp; 
    <s:checkbox name="someselectedname%{empCode}" fieldValue="%{empCode}" theme="simple"/>&nbsp; 
    <s:checkbox name="someselectedname%{empCode}" fieldValue="%{empCode}" theme="simple"/><br/> 
    </s:iterator> 

在JS:

$(':checkbox').on('change',function(){ 
    var th = $(this), name = th.prop('name'); 
    if(th.is(':checked')){ 
    $(':checkbox[name="' + name + '"]').not($(this)).prop('checked',false); 
    } 
    }); 

是否有任何其他的解决方案。

0

如果您想选择只有一个复选框了三次,你可以这样做

<s:iterator value="listOfEmployees"> 
    <input type="checkbox" name="vehicle" value="Bike"> I have a bike 
<input type="checkbox" name="vehicle" value="Car"> I have a car 
<input type="checkbox" name="vehicle" value="Bus"> I have a bus<br> 
</s:iterator> 
+0

通过使用此代码,可以选择四个中的两个复选框。我只想要一个@xrcwrn。 – Satya

+1

如果您只想选择一个,请使用redio按钮。 – xrcwrn