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

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

  • 相关阅读:
    [NOI2016]循环之美(杜教筛)
    [CF600E]Dsu on tree
    [POI2015]Myjnie
    [POI2015]Odwiedziny
    [POI2015]Logistyka
    [POI2015]Wilcze doły
    [POI2017]Sabotaż
    [BZOJ3928/4048]Outer space invaders
    [BZOJ5109]大吉大利,晚上吃鸡!
    [AGC016E]Poor Turkeys
  • 原文地址:https://www.cnblogs.com/coder-soldier/p/6902189.html
Copyright © 2020-2023  润新知