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_");

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

  • 相关阅读:
    poj1661【DP,左右两端dp】
    hdoj1074【A的无比爆炸】
    hdoj1024【DP.最 大 m 字 段 和】(写完我都怕。。。不忍直视。。)
    qq教xixi写模拟加法【非常爆炸】
    错排公式
    POJ3616【基础DP】
    hdoj1257【疑问】(贪心)
    【弱的C艹之路。。未完待续】
    hdoj1728【搜索的两种写法】
    hdoj1001【智障了。。。】
  • 原文地址:https://www.cnblogs.com/coder-soldier/p/6902189.html
Copyright © 2011-2022 走看看