jQuery中serializeArray方法的使用及對象與字符串的轉換


使用jQuery中的serializeArray()方法可以方便的將表單中的各個信息,轉化為多個{name:xx,value:xx}對象的數組,

再使用遍歷的方式可以方便的將數組轉化為json對象,

代碼如下

<p id="results"><b>Results: </b> </p>
<form>
  <select name="single">
    <option>Single</option>
    <option>Single2</option>
  </select>
  <select name="multiple" multiple="multiple">
    <option selected="selected">Multiple</option>
    <option>Multiple2</option>
    <option selected="selected">Multiple3</option>
  </select><br/>
  <input type="checkbox" name="check" value="check1"/> check1
  <input type="checkbox" name="check" value="check2" checked="checked"/> check2
  <input type="radio" name="radio" value="radio1" checked="checked"/> radio1
  <input type="radio" name="radio" value="radio2"/> radio2
</form>
<script type="text/javascript">
//其中的serialize()方法將表單信息轉化為以&連接的字符串,和提交的信息類似,感覺用處不大
$("#results").append("<tt>"+$("form").serialize()+"</tt>").append("<br/>"+$("form").serializeArray());
//但是serializeArray方法會生成鍵值對的數組對象,再放到json對象中,使用起來就很方便了
var fields = $("form").serializeArray();
var f = {};//聲明一個對象
$.each(fields,function(index,field){
	f[field.name] = field.value;//通過變量,將屬性值,屬性一起放到對象中
})
//等遍歷結束,就會生成一個json對象了

//如果需要對象與字符串的轉換
//這是從json對象 向 json 字符串轉換
 var str = JSON.stringify(f);
 alert(str);
 
//這是將字符串 向 對象轉換
 var objectStr = JSON.parse(str);
 alert(objectStr);
 
</script>

  生成的json可以傳送到服務器,再使用插件直接轉化成Javabean對象,使用起來會非常方便,因為省去了繁瑣的提取操作語句

如果需要對象與字符串的轉換,可以使用多種方法,除了代碼中的方法,另外還有兩種字符串轉對象的方式

jQuery中的$.parseJSON(str) 可把字符串轉成對象。。

另外就是js中熟悉的eval方法了,將字符串轉化為對象eval('('+str+')');

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM