2015-06-24 151 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