jQuery實現(xiàn)form表單元素序列化為json對象的方法
本文實例講述了jQuery實現(xiàn)form表單元素序列化為json對象的方法。分享給大家供大家參考,具體如下:
這段代碼序列化form表單元素為json對象:
<!Doctype html>
<html xmlns=http://www.w3.org/1999/xhtml>
<head>
<title>jQuery擴(kuò)展——form序列化到j(luò)son對象</title>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<script type="text/javascript" src="jquery-1.10.2.js"></script>
</head>
<body>
<p id="results"><b>Results:</b> </p>
<form>
<select name="aModel.single">
<option>Single</option>
<option selected>Single2</option>
</select>
<br/><br/>
<select name="aModel.multiple" multiple="multiple">
<option selected="selected">Multiple</option>
<option>Multiple2</option>
<option selected="selected">Multiple3</option>
</select>
<br/><br/>
<input type="checkbox" name="aModel.check" value="check1"/> check1
<input type="checkbox" name="aModel.check" value="check2" checked="checked"/> check2
<br/><br/>
<input type="radio" name="aModel.radio" value="radio1" checked="checked"/> radio1
<input type="radio" name="aModel.radio" value="radio2"/> radio2
</form>
<script type="text/javascript">
var fields = $("select, :radio").serializeArray();
var o={};
jQuery.each(fields, function(i, fields){
if(o[this.name]){
/*
表單中可能有多個相同標(biāo)簽,比如有多個label,
那么你在json對象o中插入第一個label后,還要繼續(xù)插入,
那么這時候o[label]在o中就已經(jīng)存在,所以你要把o[label]做嵌套數(shù)組處理
*/
//如果o[label]不是嵌套在數(shù)組中
if(!o[this.name].push){
o[this.name]=[o[this.name]]; // 將o[label]初始為嵌套數(shù)組,如o={a,[a,b,c]}
}
o[this.name].push(this.value || ''); // 將值插入o[label]
}else{
o[this.name]=this.value || ''; // 第一次在o中插入o[label]
}
});
$("#results").append(JSON.stringify(o));
console.log(o); //用FireBug輸出
</script>
</body>
</html>
結(jié)果如下圖所示:

希望本文所述對大家jQuery程序設(shè)計有所幫助。
相關(guān)文章
JQuery中對服務(wù)器控件 DropdownList, RadioButtonList, CheckboxList的操作
JQuery中對服務(wù)器控件 DropdownList, RadioButtonList, CheckboxList的操作總結(jié),需要的朋友可以參考下。2011-06-06
jQuery中attr()與prop()函數(shù)用法實例詳解(附用法區(qū)別)
這篇文章主要介紹了jQuery中attr()與prop()函數(shù)用法,結(jié)合實例形式詳細(xì)分析了attr()與prop()函數(shù)的使用技巧與相關(guān)注意事項,并附帶了attr()與prop()函數(shù)用法的區(qū)別,需要的朋友可以參考下2015-12-12
jQuery ajax提交Form表單實例(附demo源碼)
這篇文章主要介紹了jQuery ajax提交Form表單的方法,結(jié)合實例分析了jQuery ajax操作實現(xiàn)表單提交的相關(guān)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-04-04
jquery?validation驗證電話號碼,email(實例代碼)
jquery?validation驗證電話號碼,email(實例代碼),需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11
jQuery Uploadify 上傳插件出現(xiàn)Http Error 302 錯誤的解決辦法
本文給大家介紹jQuery Uploadify 上傳插件出現(xiàn)Http Error 302 錯誤的解決辦法,涉及到uploadify上傳錯誤302相關(guān)問題,對本文感興趣的朋友一起看看吧2015-12-12
jQuery EasyUI API 中文文檔 - ComboTree組合樹
jQuery EasyUI API 中文文檔 - ComboTree組合樹,需要的朋友可以參考下。2011-10-10

