這篇文章主要介紹了jQuery序列化form表單資料為JSON物件的實現方法,本文透過實例程式碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
jquery提供的serialize方法能夠實作。
$("#searchForm").serialize();
但是,觀察輸出的信息,發現serialize()方法做的是將表單中的資料以htpp請求格式拼接成字串。
serialize確實是能夠解決一般的提交資料。但有時我們需要的是一個object對象,而不是字串(例如jqgrid reload時設定查詢條件參數,就需要object對象)。
方法如下:
(function(window, $) { $.fn.serializeJson = function() { var serializeObj = {}; var array = this.serializeArray(); var str = this.serialize(); $(array).each( function() { if (serializeObj[this.name]) { if ($.isArray(serializeObj[this.name])) { serializeObj[this.name].push(this.value); } else { serializeObj[this.name] = [ serializeObj[this.name], this.value ]; } } else { serializeObj[this.name] = this.value; } }); return serializeObj; }; })(window, jQuery);
呼叫:
console.info($("#searchForm").serializeJson());
下面透過一段程式碼看下jQuery序列化表單為JSON物件
#<form id="myform"> <table> <tr> <td>姓名:</td> <td> <input type="text" name="name" /> </td> </tr> <tr> <td>性别:</td> <td> <input type="radio" name="sex" value="1"> 男 <input type="radio" name="sex" value="0"> 女 </td> </tr> <tr> <td>年龄:</td> <td> <select name="age"> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> </select> </td> </tr> <tr> <td>爱好</td> <td> <input type="checkbox" value="basketball" name="hobby">篮球 <input type="checkbox" value="volleyball" name="hobby">排球 <input type="checkbox" value="football" name="hobby">足球 <input type="checkbox" value="earth" name="hobby">地球 </td> </tr> <tr> <td colspan="2"> <input type="button" id="ajaxBtn" value="提交" /> </td> </tr> </table> </form> <script type="text/javascript"> $(function() { $("#ajaxBtn").click(function() { var params = $("#myform").serializeObject(); //将表单序列化为JSON对象 console.info(params); }) }) $.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [ o[this.name] ]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; } </script>
上述serializeObject方法是將form序列化為JSON物件
#總結
以上所述是小編給大家介紹的jQuery序列化form表單資料為JSON物件的實作方法,希望對大家有幫助!
以上是jQuery序列化form表單資料為JSON物件的實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!