在页面上有一个table,比如:<table width="60%" >
<tr>
<th></th>
<th>姓名</th>
<th>岗位</th>
</tr>
<s:iterator value="#Users" var="sc">
<tr>
<td>
     <s:checkbox fieldValue="%{#sc.id}" name="" id="user_id"/>
     </td> 
<td><s:property value="#sc.username"/></td>
<td><s:select name="post_id.id" list="#posts" listKey="id" listValue="post_name" headerKey="" headerValue="--请选择--"></s:select></td>
</tr>
</s:iterator>
<tr>
<td><input type="button" value="提交" id="btn_user_in" /></td>
</tr>
</table>用户的部门是可选择的,当我点击提交的时候,我如何得到我选择了的用户的部门,选一个的时候可以得到select的值,但是我选择了多个后如何得到select的值,并且选择的select的值要对应到选择的用户下面去

解决方案 »

  1.   

    你选一个可以得到用户的值,你按照这样的形式,把1个用户变成多个用户,。
    也就是说,你把那个值变为数组格式..选中的checkbox会以数组的格式存在里面,
    name 一样, value不一样
      

  2.   

    <s:checkbox fieldValue="%{#sc.id}" name="selectname" id="user_id"/>
    取个名字,例如selectname,下面是获取选中的值
    jquery:
    Java codevar items = $("input:checkbox[@name=selectname]");
        var length = items.size();
        for(i = 0;i < length;i++)
        {
            if(!items.eq(i).attr("checked"))
                alert(items.eq(i).val());//这里就取到对应部门的id了        
            }servlet直接处理:可以直接使用一个request的一个方法,获取多选框的值,然后进行处理
    action中:可以private String[] selecteNames;set/get就能获取值的,然后做对应的操作
      

  3.   

    那我如何将用户与选择的部门绑定呢,如果我选择了复选框当时没选择post,那这个用户的post就是空,选了就是对应的值。怎么一一对应呢
      

  4.   

    建议这样做~~每次用户选择部门的时候 走一个ONCHANGE事件 然后把该行的部门和用户存到文本域里格式自己定~ 每次CHANGE 都添加到最后面~JS 可以写好一点 如果用户ID 重复 就不保存进去这个JS方法可以自己写
    <input name="test" type="hidenn" value="-用户ID:部门ID-">
    然后保存对这个值 进行提取处理保存~~
      

  5.   

    不绕的  ONCHANG  传改行的用户ID 和部门ID 然后判断 隐藏域里是否存在同一个用户ID 如果存在 替换掉之前的~~~
    无非是把一个字符串 根据定义好分隔符 得到一个数组~~
    然后到后台 得到这个字符串跟JS 原理一样  
    遍历一下 保存~ 没有很复杂的逻辑哦~~
      

  6.   

    <table width="60%" >
            <tr>
                <th></th>
                <th>姓名</th>
                <th>岗位</th>
            </tr>
            <s:iterator value="#Users" var="sc">
                <tr>
                    <td>
                        <s:checkbox fieldValue="%{#sc.id}" name="" id="user_id"/>
                    </td> 
                    <td><s:property value="#sc.username"/></td>
                    <td><s:select name="post_id.id" list="#posts" listKey="id" listValue="post_name" headerKey="" headerValue="--请选择--"></s:select></td>
                </tr>
            </s:iterator>
            <tr>
                <td><input type="button" value="提交" id="btn_user_in" /></td>
            </tr>
            </table>
      

  7.   

    如果真不想些JS  这样
    用户部门的标示通过增加用户ID来区分 name="%{#sc.id}_post_id.id%" 
    这样每个用户的部门对应的 部门 SELECT 就是不同了 
    这样你就在类里去遍历 筛选 保存咯