不知道你所谓的反序列化究竟什么意思。
贴出你的参考代码和需求内容吧。
<div class="menu-list">
<select id="SendDeparture" style="width: 150px;">
<option value="">所有送签地</option>
</select>
<select id="VisaType" style="width: 150px;">
<option value="">所有签证类型</option>
</select>
价格从
<input type="text" class="input normal" name="MinPrice" style="width: 100px" maxlength="10"
datatype="/^(([1-9]{1}\d*)|([0]{1}))(\.(\d){1,2})?$/" sucmsg=" " />到
<input type="text" class="input normal" name="MaxPrice" style="width: 100px" maxlength="10"
datatype="/^(([1-9]{1}\d*)|([0]{1}))(\.(\d){1,2})?$/" sucmsg=" " />
</div>
--------------------------------------------------------------
==============对上面的这段代码序列化
var myjson = $(".menu-list").serialize();,这样做得到的为空字符串
@jeamsluu:
1、你希望得到什么结果?
2、使用form的serialize方法呢?
@519740105: 这问题有点霸道,我真想问,什么叫序列化。
@幻天芒: 得到JSON对象
@519740105: json格式的对象
@jeamsluu: form不支持json的序列化,那是form式的。
至于jquery是否支持,没研究过。
类似的,最好你能自己组装。
@519740105:我要能自己组装,我就不来问了。
=============================
$.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;
};
============================
上面是我在网上找的表单序列化为json格式,现在我想把他改成能够对任意区域内的元素都可以进行序列化的
@jeamsluu: 你可以在内存里构建一个form,然后把html代码复制到form里,再使用form的serialize的功能达成目的。
@519740105: 没有其他方法了嘛?感觉代价有点大
@jeamsluu: 这个已经够简单的方案了,只是临时构建form而已。
至于其他的方法,在jquery未提供现成的情况下,就只能自己写代码拼装了,这个的代价更大。
你的意思是在后台输出某一区域内的html代码么?
前台的:
==================================
<div class="menu-list">
<select id="SendDeparture" style="width: 150px;">
<option value="">所有送签地</option>
</select>
<select id="VisaType" style="width: 150px;">
<option value="">所有签证类型</option>
</select>
价格从
<input type="text" class="input normal" name="MinPrice" style="width: 100px" maxlength="10"
datatype="/^(([1-9]{1}\d*)|([0]{1}))(\.(\d){1,2})?$/" sucmsg=" " />到
<input type="text" class="input normal" name="MaxPrice" style="width: 100px" maxlength="10"
datatype="/^(([1-9]{1}\d*)|([0]{1}))(\.(\d){1,2})?$/" sucmsg=" " />
</div>
===================================
对DIV里的标签序列化