serialize()方法通过序列化表单值
工具/原料
电脑
方法/步骤
1、搜索查询时,将搜索条件单独放入form表单中,利用jquery获取表单中全部的内容,利用jquery自身的方法serialize()将其转换为字符串然后将字符串转换为json对象
2、<bodyid="form"><for葡矩酉缸maction=""&g墉掠载牿t;Firstname:<inputtype="text"name="fn"value="Bill"/><br/>Lastname:<inputtype="text"name="la"value="Gates"/><br/><inputname="a"type="radio"value="1"/>1<inputname="a"type="radio"value="2"/>2<inputname="a"type="radio"value="3"/>3<inputname="a"type="radio"value="4"/>4
3、<inputname="b"type="挢旗扦渌;checkbox"value租涫疼迟="11"/>11<inputname="b"type="checkbox"value="22"/>22<inputname="b"type="checkbox"value="33"/>33<inputname="b"type="checkbox"value="44"/>44</form><button>序列化表单值</button><div></div></body></html>
4、此方法可以很方便的接收到前端的数据,functionchangeAjaxFormData(formObj){vardata=formObj.serialize();data=decodeURIComponent(data,true);//防止中文乱码varjson=formToJson(data);//转化为jsonreturnJSON.parse(json);}
5、functionformToJson(data){data=data.replace(/&/g,"\",\"").replace(/=/g,"\":\"").replace(/\+/g,"").replace(/[\r\n]/g,"<br>");data="{\""+data+"\"}";returndata;}
6、$('#btn').click(function(){formJson=changeAjaxFormData($('#searchForm'));$('#table').jqGrid("setGridParam",{postData:formJson});$('#table').jqGrid("setGridParam",{page:1});$('#table').jqGrid("setGridParam",{url:url}).trigger("reloadGrid");})