最近在使用dataGird时,需要在表格中插入<input> ,点击按钮时,需要把datagird中的一些数据发给后台,下面是我以前的方法:
var all = $("#t1").datagrid("getData"); var sum=0; var json="["; $.each(all.rows, function(i, p) { //var num=$('#t1 input[id='+p.product_id+']').val(); var num=$("#"+p.product_id).val(); var money=p.product_money; var allMoney=(num-0)*(money-0); //总金额 sum+=allMoney; json+="{"; json+=" \"product_id\":\""+p.product_id+" \",\"prolist_num\":\""+ num+"\",\"product_money\":\""+ money+"\",\"allMoney\":\""+ allMoney+"\"";// json+="},"; }); json=json.substring(0,json.length-1); if(json.length==1) json+="["; json+="]";
我通过var all = $("#t1").datagrid("getData");把数据表格中的值都取出来,然后用for循环将他序列化为json,把json传到后台通过解析json去获取表格中的值,我现在想知道有没有更好的方法。
还有就是我想知道在javascript中怎么把一个字符串或list序列化为json
有JSON对象啊。。如果是IE8-浏览器需要导入json2.js这个对象以支持JSON,然后就可以JSON.stringify将json对象转为对应的字符串了
<script src="http-//www-coding123-net/rardownload/20130106/20130106170832648.js"></script> <script> var d = [{ a: 1 }, { b: 2 }, { c: 3}]; d = JSON.stringify(d); alert(d) </script>
直接JSON.stringify(all.rows)不就好了