zoukankan      html  css  js  c++  java
  • js批量向html容器内的元素赋值

    /*
        * 向元素赋值(元素id要与对象属性名相同)
        * selector :    "#table span"
        * jsonData:     {"key":"value"}
        * specialData:  {"propertyName":{"key":"value"}}
        * prefix:       id是否有前缀
    */
    function set(selector, jsonData, specialData, prefix) {
        $.each($(selector), function (i, v) {
            var id = $(this).attr("id");
            if (prefix != "") {
                // 去掉前缀,使id与对象属性名保持一致
                id = id.replace(prefix, "");
            }
            var eleText = jsonData[id];
            if (id != "" && eleText != "") {
                var setByTag = function (element, value) {
                    switch (element.tagName) {
                        case "INPUT":
                            switch ($(element).attr("type")) {
                                case "text":
                                case "hidden":
                                    $(element).val(value);
                                    break;
                                case "checkbox":
                                    $(element).attr("checked", "checked");
                                    break;
                                default:
                                    break;
                            }
                            break;
                        default:
                            $(element).text(value);
                            break;
                    }
                }
                var elementObj = this;
                setByTag(this, eleText);
                $.each(specialData, function (i2, v2) {
                    if (specialData[eleText] != "") {
                        setByTag(elementObj, this[eleText]);
                    }
                });
            }
        });
    }
    使用示例:
    <table id="tableid">

    <tr>
    <td class="ContentNameRequired">性别
    </td>
    <td class="ContentValue">
    <span id="tableid_Gender"></span>
    </td>

    </table>

    var gender = { "0": "未知", "1": "男", "2": "女" };
    var stuSource = { "1": "在线报名", "2": "录入", "3": "在线邀请" };
    
    Set("#dlg span,input", json, { "Gender": gender, "StuSource": stuSource },"tableid_");

     使用标签的自定义属性也许会更好些,这样就避免了将一个对象属性赋值给多个标签时的问题 。

  • 相关阅读:
    java笔记6 Java语言基本类; String和StringBuffer ;集合类;流,文件及文本应用:JDBC
    java笔记5
    java笔记4 异常处理
    java笔记3
    java课笔记2
    java课笔记1
    TEXT
    机器学习
    WordCountPro
    WCProject(java)
  • 原文地址:https://www.cnblogs.com/coder-soldier/p/6902189.html
Copyright © 2011-2022 走看看