首页新闻找找看学习计划

想要对某一区域内的html标签元素进行序列化

0
悬赏园豆:50 [已解决问题] 解决于 2014-11-17 13:37

请问,想要对某一区域内的html标签元素进行序列化怎么弄,【不是表单的序列化,使用serialize(),得到的为空】

jeamsluu的主页 jeamsluu | 初学一级 | 园豆:103
提问于:2014-09-30 11:23
< >
分享
最佳答案
0

不知道你所谓的反序列化究竟什么意思。

贴出你的参考代码和需求内容吧。

收获园豆:50
519740105 | 大侠五级 |园豆:5810 | 2014-09-30 11:39

 <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 | 园豆:103 (初学一级) | 2014-09-30 11:50

@jeamsluu: 

1、你希望得到什么结果?

2、使用form的serialize方法呢?

519740105 | 园豆:5810 (大侠五级) | 2014-09-30 11:55

@519740105: 这问题有点霸道,我真想问,什么叫序列化。

幻天芒 | 园豆:36522 (高人七级) | 2014-09-30 11:55

@幻天芒: 得到JSON对象

jeamsluu | 园豆:103 (初学一级) | 2014-09-30 11:58

@519740105: json格式的对象

jeamsluu | 园豆:103 (初学一级) | 2014-09-30 11:59

@jeamsluu: form不支持json的序列化,那是form式的。

至于jquery是否支持,没研究过。

类似的,最好你能自己组装。

519740105 | 园豆:5810 (大侠五级) | 2014-09-30 12:01

@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 | 园豆:103 (初学一级) | 2014-09-30 12:03

@jeamsluu: 你可以在内存里构建一个form,然后把html代码复制到form里,再使用form的serialize的功能达成目的。

519740105 | 园豆:5810 (大侠五级) | 2014-09-30 12:06

@519740105: 没有其他方法了嘛?感觉代价有点大

jeamsluu | 园豆:103 (初学一级) | 2014-09-30 12:07

@jeamsluu: 这个已经够简单的方案了,只是临时构建form而已。

至于其他的方法,在jquery未提供现成的情况下,就只能自己写代码拼装了,这个的代价更大。

519740105 | 园豆:5810 (大侠五级) | 2014-09-30 12:09
其他回答(1)
0

你的意思是在后台输出某一区域内的html代码么?

田麦成 | 园豆:1982 (小虾三级) | 2014-09-30 11:28

前台的:

==================================

 <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里的标签序列化

支持(0) 反对(0) jeamsluu | 园豆:103 (初学一级) | 2014-09-30 11:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册