一、问题是当有多个radio 单选框,我选择了其中一个作为选择条件,把数据带到后台,但是当我把数据返回前台的时候,我所选择的选项并没有被选中,

开始时只是这样写的:

<input type="radio" name="reserveOrder.personalInfo"  value="1"/>
<input type="radio" name="reserveOrder.personalInfo"  value="0"/>
                

这样在我页面返回跟开始没有选择是一样的,我其实是要把选中的选项带回来

<input type="radio" name="reserveOrder.personalInfo" ${reserveOrder.personalInfo==1?'checked':''} value="1"/>
<input type="radio" name="reserveOrder.personalInfo" ${reserveOrder.personalInfo==0?'checked':''} value="0"/>

 

加了一个${reserveOrder.personalInfo==1?'checked':''}  就是在他的值等于1的时候他就是选中状态。

 

前台赋值不选中:$("#verification").attr('checked', false);

==================================================

今天又做了一个下拉框实现多选的功能  用了一个属性multiple="multiple"

<select multiple="multiple" id="orderStateSequence" name="orderStates" list="reserveStates" listKey="sequence" listValue="name"> 
                           <s:iterator value="reserveStates" var="var">
                               <option value="<s:property value="#var.sequence"/>"
                                   <s:iterator value="orderStates" var="order">
                                       <s:if test="#order==#var.sequence">
                                            selected
                                        </s:if>
                                    </s:iterator>
                               >
                                   <s:property value="#var.name"/>
                               </option>
                           </s:iterator>
  </select>

reserveStates是遍历所有状态的值,orderStates是遍历选中的值

后台拿数组去接orderStates

if(orderStates!=null) {
                String stateStr = "";
                for (String orderState : orderStates) {
                    if(StringUtils.isEmpty(stateStr)){
                        stateStr += orderState;
                    }
                    else{
                        stateStr += ","+orderState;
                    }
                }
                term=term+" and ro.orderStateSequence in ("+stateStr+")";
            }

 

二、当页面出现select标签的时候

     <select class="form-control moneyTypety" name="activeMain.moneyType" >
                      <option value="1">抵扣金额</option>
                      <option value="2">定金方式</option>
                  </select>

然后我们的js里反写回页面

$(".moneyTypety  option[value='"+${activeMainView.moneyType}+"']").attr("selected",true);

 

三、出现select多选的时候(假如我选择了123这三条数据存到数据库中,当我们取出来时去判断里面的值是不是包含123 ,包含就selected

<select class="form-control" name="activeMain.useLimit" id="useLimit" multiple="multiple">
                      <option value="0" <s:if test="activeMainView.useLimit.indexOf('0') >= 0" >selected </s:if>>不限制</option>
                      <option value="1" <s:if test="activeMainView.useLimit.indexOf('1') >= 0" >selected </s:if>>线上定制</option>
                      <option value="2" <s:if test="activeMainView.useLimit.indexOf('2') >= 0" >selected </s:if>>O2O订金</option>
                      <option value="3" <s:if test="activeMainView.useLimit.indexOf('3') >= 0" >selected </s:if>>O2O全款</option>
                      <option value="4" <s:if test="activeMainView.useLimit.indexOf('4') >= 0" >selected </s:if>>O2O订金、全款</option>
</select>

 四、还有一种是我们查询时,选中多个

<select multiple="multiple" id="orderStateSequence" name="orderStates" list="reserveStates" listKey="sequence" listValue="name">
                           <s:iterator value="reserveStates" var="var">
                               <option value="<s:property value="#var.sequence"/>"
                                   <s:iterator value="orderStates" var="order">
                                       <s:if test="#order==#var.sequence">
                                            selected
                                        </s:if>
                                    </s:iterator>
                               >
                                   <s:property value="#var.name"/>
                               </option>
                           </s:iterator>
                    </select>

private List<ReserveState> reserveStates = null;    //预约单状态集合

private String[] orderStates =null;   后台接收的值

if(orderStates!=null) {
                String stateStr = "";
                for (String orderState : orderStates) {
                    if(StringUtils.isEmpty(stateStr)){
                        stateStr += orderState;
                    }
                    else{
                        stateStr += ","+orderState;
                    }
                }
                term=term+" and ro.orderStateSequence in ("+stateStr+")";
            }

 

五、页面有多选框反显页面的时候,看是否选中

<tr>
            <td  nowrap valign="top" align="right" class="td_head">被调查中心:</td>
            <td class="frmCreate_kuang_header" style="font-weight: normal;">
                <s:iterator value="surveyedCenterUnits" var="var" status="st">
                    <div style="width:200px;float:left">
                        <input type="checkbox" disabled name="surveyedCenter" value="<s:property value="#var.id"/>"
                        <s:iterator value="questionItem.surveyedDepartments" var="center" status="stCenter">
                                 <s:if test="#center.id==#var.id">
                                   checked
                                 </s:if>
                        </s:iterator>
                        ><s:property value="#var.name"/>
                    </div>
                </s:iterator>
            </td>
        </tr>

posted on 2017-05-18 17:38  爱上码  阅读(301)  评论(0编辑  收藏  举报