2023-09-12 佚名 1252
/**
* 收集表单数据对象的数据,保存成json数据。同时是checkbox组件,那么会以字符串连接形式拼接。
* 使用方法 $("#fm-id").serializeJson('{"a":"1","b":"2"}')
* @param {Object} jsonFmatStr json字符串数据, 附件的其他数据(如果和对象属性名一致,会覆盖)
*/
$.fn.serializeJson = function(jsonFmatStr){
var json = {}
var array = this.serializeArray();
$.each(array,function(idx,item){
if(json[item.name]){//如果这个字段数据已经存在
json[item.name] += ";"+item.value;
}else{
json[item.name] = item.value || '';
}
})
if(jsonFmatStr != undefined){
var otherData = JSON.parse(jsonFmatStr)
$.extend(true,json,otherData)
}
return json;
}
<form class="form-horizontal m" id="feedback">
<input id="usercode" name="usercode" type="text" >
<input id="username" name="username" type="text" value="张三">
<select name="fav">
<option value="001">篮球</option>
<option value="002">足球</option>
<option value="003">羽毛球</option>
</select>
<input type="checkbox" name="subNames" value="chinese" checked><label>语文</label>
<input type="checkbox" name="subNames" value="math"><label>数学</label>
<input type="checkbox" name="subNames" value="english" checked><label>英语</label>
</form>
$(function() {
var result = $("#feedback").serializeJson('{"subNames":"美术;化学"}');
console.log(result);
})
*本文已进行版权登记,版权归属本平台,抄袭必究。
*如需转载,请联系QQ号:260341359
*文章为作者独立观点,不代表平台立场。
身边永远要带着铅笔和笔记本,读书和谈话时碰到的一切美妙的地方和话语都把它记下来。
—— 列夫·托尔斯泰