select回显示--这个方法虽然可以传值给后台,但是分页需要点击两次,才能提交,作为弯路

来源:互联网 发布:马蓉 长相知乎 编辑:程序博客网 时间:2024/05/16 12:55

这个html提供的是option value是 pojo里的属性,pojo的表示直接带属性的,不是通过left join要素表,因此自己想到的方法

改变name的属性值,用到的是

var inputE = jQuery("input[name='f_conditionStr']").attr("name", s)
这个jQuery方法可以改变name值,通过,通过 获取select标签的ID获得值,注入到
name="f_conditionStr
中,后台设个pojo得到值


上半部分是半成品,下面是主要的 ,这个是name传值查询

<script type="text/javascript"><%-- $(document).ready(function(){$("#f_type").change(function(){var s=$("#f_type").val();alert(s);var inputE = jQuery("input[name='f_conditionStr']").attr("name", s);  });  }); --%> $(document).ready(function(){  $("#btnFind").click(function(){  var s=$("#f_type").val(); var inputE = jQuery("input[name='f_conditionStr']").attr("name", s);   var v=$("#f_conditionStr").val();  alert(v); var v2=$("#copy_f_conditionStr").val(v); alert(v2); }) });</script>



这个选的是回显

后台用两个方法,一个是进入页面查询,一个为条件查询,使用提交后,name=fttype,如果是请选择,则是空值,其他对应的value,后台要设置model返回对应的

factoryName
contacts
 fullName

这个时候要注意了,刚进入页面的时候 name=fttype,还是factoryname,contacts,fullname都是是空值,这样的话如果不判断的话,就不知道选项就比较乱

<c:if test="${ftype==null}">selected</c:if>selected>
 <c:if test="${ftype !=null && factoryName !=null && ftype==factoryName}">selected</c:if>
……

如果想看后台传入的是什么值,用

4<c:out value="${ftype}"></c:out>
这个标签,


内容回显

将内容的

 id="f_conditionStr
用jQuery传上去.

在回传,这里的name因为是变动的,而ID不变,可以得到value,再设置一个hidden<input>把name传到后台

,在回显到

 value="${copy_f_conditionStr }" size="30" id="f_conditionStr"


类型:<select name="ftype" style="width:130px;heigh:30px;" dataType="下拉列表" dispName="查询条件" id="f_type"  " ><option value="" <c:if test="${ftype==null}">selected</c:if>selected>--请选择--</option><option value='factoryName' <c:if test="${ftype !=null && factoryName !=null && ftype==factoryName}">selected</c:if>>简称 </option><option value='contacts'<c:if test="${ftype !=null && contacts !=null && ftype==contacts}">selected</c:if>>联系人</option><option value='fullName'<c:if test="${ftype !=null && fullName !=null && ftype==fullName}">selected</c:if>>全称</option></select><!-- 测试 --><c:if test="${ftype=='factoryName'}">${factoryName==null}</c:if>1<c:out value="${contacts}"></c:out>2<c:out value="${ftype==contacts}"></c:out>3<c:out value="${ftype==''}"></c:out>            4<c:out value="${ftype}"></c:out>内容:<input type="text" name="f_conditionStr" value="${copy_f_conditionStr }" size="30" id="f_conditionStr"onFocus="this.select();"onKeyDown="javascript:if(event.keyCode==13){ document.getElementById('btnFind').onclick(); }"/><input id="copy_f_conditionStr" value="" name="copy_f_conditionStr" type="hidden"/> <input id="btnFind" type="submit"  value="查询" /><input type="button" name="清空" value="清空" onclick="findReset();this.blur();"> </div>

public class FactoryCController {@Autowiredprivate IFactoryCService iFactoryCService;@RequestMapping("/basicinfo/factory/jFactoryList.action")public String tolist(Model model){List<FactoryC> list = iFactoryCService.selectfactoryall(null);model.addAttribute("datalist", list);return "/basicinfo/factory/jFactoryList";}@RequestMapping("/basicinfo/factory/FactoryList.action")public String tofind(Model model,FactoryC factoryC,String ftype,String copy_f_conditionStr){List<FactoryC> list = iFactoryCService.selectfactoryall(factoryC);model.addAttribute("ftype", ftype);model.addAttribute("factoryName", "factoryName");model.addAttribute("contacts", "contacts");model.addAttribute("fullName", "fullName");model.addAttribute("datalist", list);model.addAttribute("copy_f_conditionStr", copy_f_conditionStr);return "/basicinfo/factory/jFactoryList";}

分页时。设置js,因为有两次

 var s=$("#f_type").val();
 var inputE = jQuery("input[name='f_conditionStr']").attr("name", s); 
导致后去开始是空,下个才有值,有一条弯路

<script type="text/javascript">
/* $(document).ready(function(){
 var s=$("#f_type").val();
 var inputE = jQuery("input[name='f_conditionStr']").attr("name", s);  


}) */
window.onload=function(){
   var s=$("#f_type").val();
 var inputE = jQuery("input[name='f_conditionStr']").attr("name", s);  
}
function search(){

 var s=$("#f_type").val();
 var inputE = jQuery("input[name='f_conditionStr']").attr("name", s);
 var v=$("#f_conditionStr").val();
 var v2=$("#copy_f_conditionStr").val(v);

}

</script>

做pojo自身的属性,及直接把selected的name传入后台,通过if判断,设值

,回传给前端



阅读全文
0 0
原创粉丝点击