【问题标题】:Using Jquery to dynamically create objects使用Jquery动态创建对象
【发布时间】:2011-04-23 03:53:30
【问题描述】:

我正在尝试从表单中动态创建对象,但我希望省略一些冗余元素,例如提交。

唯一的问题是我的函数不会省略这些字段。

    function form_to_json(formname) {

    var obj = new Object();

    var identity = "#" + formname + " input";

// Create JSON strings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    $(identity).each(function() {

        if ($(this).val() != "Submit" || $(this).attr('name') != "password2") {

            var propertyName  = $(this).attr('name');
            var propertyValue = $(this).val();

            eval("obj." + propertyName + "='" + propertyValue + "'");               
        }
    });

    var jsonObj = JSON.stringify(obj);

    return jsonObj;
}

输出会输出一个漂亮的小 json 对象,唯一的问题是它没有省略我要求的表单元素。

和选择器有关吗?

【问题讨论】:

    标签: forms jquery-selectors object


    【解决方案1】:

    好的,我刚刚进行了一次头脑风暴,并尝试将 if 语句分成两部分......

    if ($(this).val() != "Submit") {
    
                    if ($(this).attr('name') != "password2") {
    
                        var propertyName = $(this).attr('name');
                        var propertyValue = $(this).val();
    
                        eval("obj." + propertyName + "='" + propertyValue + "'");
                    }           
                }
    

    这确实有效。

    【讨论】:

      【解决方案2】:

      您也可以在单个 if 条件下执行此操作。您只需将 OR 条件更改为 AND

      if ($(this).val() != "Submit" && $(this).attr('name') != "password2") {
      

      【讨论】:

        猜你喜欢
        • 2018-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-11
        • 1970-01-01
        • 2023-02-09
        相关资源
        最近更新 更多