u012503756
bulidfer
采纳率35.3%
2016-07-20 02:13 阅读 1.2k

json数组包含另一个json数组的值 那么重叠部分li背景改变 求大神解决

5

这个是第一个json数组代表全部穴位;

  var arr = eval(json[index].xuewei); 


                    var retStr = ",";
                    $('#xueweiList').append(
                            $(arr).map(
                                    function() {
                                        return '<li id=' + this.acupoint_num + '><a href="#" >'
                                                + this.name + '</a></li><li>'
                                    }).get().join(''));
                    $("#nav>ul>li").click(
                            function() {
                                var focus = $(this).toggleClass('h_nav_over').hasClass(
                                        'h_nav_over');
                                if (focus)
                                    retStr += this.id + ',';
                                else
                                    retStr = retStr.replace(',' + this.id + ',', ',');

                                $("#xueweis").val(retStr.replace(/^,|,$/g, ''));
                            });



            });

图片说明

这是第二个json数组 疾病对应的穴位

 $.ajax({
        type : "POST",
        url : "/miaolangzhong/manage/forAjax.do?requestType=6",
        data : "id=" + id, // 发送到服务器的数据
        success : function(msg) {
            alert(msg);
            var json = eval('(' + msg + ')');
            document.getElementById("addEd100").style.display = "block";
            /* 获取后台传来的json是数组 循环获取数据 */
            $.each(json, function(index, item) {
                document.getElementById("id1").value = json[index].id;
                document.getElementById("name1").value = json[index].name;
                document.getElementById("desc1").value = json[index].desc;
                /* 获取疾病对应穴位 */
                var arr2 = eval(json[index].ear_acupoint);
                var arrStr2 = '';
                $.each(arr2, function(index, item) { // 获取后台传来的json是数组
                    // 循环拼接字符串
                    // arrStr2 += arr2[index].earName;
                    arrStr2 += "<input type='button' id='"
                            + arr2[index].acupoint_num + "' value='"
                            + arr2[index].earName + "' name='earName'/>";

                });
                // document.getElementById("earName1").value = arrStr2;
                var td2 = document.getElementById("xueweiTd2");
                var div2 = document.getElementById("xuewei2");
                div2.innerHTML = arrStr2;
                td2.appendChild(div2);

图片说明

这是js部分全部代码

 function updateEd100(id) {

    $.ajax({
        type : "POST",
        url : "/miaolangzhong/manage/forAjax.do?requestType=6",
        data : "id=" + id, // 发送到服务器的数据
        success : function(msg) {
            alert(msg);
            var json = eval('(' + msg + ')');
            document.getElementById("addEd100").style.display = "block";
            /* 获取后台传来的json是数组 循环获取数据 */
            $.each(json, function(index, item) {
                document.getElementById("id1").value = json[index].id;
                document.getElementById("name1").value = json[index].name;
                document.getElementById("desc1").value = json[index].desc;
                /* 获取疾病对应穴位 */
                var arr2 = eval(json[index].ear_acupoint);
                var arrStr2 = '';
                $.each(arr2, function(index, item) { // 获取后台传来的json是数组
                    // 循环拼接字符串
                    // arrStr2 += arr2[index].earName;
                    arrStr2 += "<input type='button' id='"
                            + arr2[index].acupoint_num + "' value='"
                            + arr2[index].earName + "' name='earName'/>";

                });
                // document.getElementById("earName1").value = arrStr2;
                var td2 = document.getElementById("xueweiTd2");
                var div2 = document.getElementById("xuewei2");
                div2.innerHTML = arrStr2;
                td2.appendChild(div2);
                /* 获取所有穴位 */
                 var arr = eval(json[index].xuewei); 

            /*      var arr = [ {
                        "name" : "心",
                        "id" : "1"
                    }, {
                        "name" : "肝",
                        "id" : "2"
                    }, {
                        "name" : "脑袋",
                        "id" : "3"
                    }, {
                        "name" : "屁股",
                        "id" : "4"
                    } ];*/
                    var retStr = ",";
                    $('#xueweiList').append(
                            $(arr).map(
                                    function() {
                                        return '<li id=' + this.acupoint_num + '><a href="#" >'
                                                + this.name + '</a></li><li>'
                                    }).get().join(''));
                    $("#nav>ul>li").click(
                            function() {
                                var focus = $(this).toggleClass('h_nav_over').hasClass(
                                        'h_nav_over');
                                if (focus)
                                    retStr += this.id + ',';
                                else
                                    retStr = retStr.replace(',' + this.id + ',', ',');

                                $("#xueweis").val(retStr.replace(/^,|,$/g, ''));
                            });



            });

        }
    });

}

这是本体 部分

    <tr>
                                            <td width="15%" nowrap align="right" height="100">对应的穴位:</td>
                                            <td colspan="3" id="xueweiTd2"><div id="xuewei2"
                                                    class="h_nav_over"></div></td>
                                        </tr>
                                        <tr>
                                            <td width="15%" nowrap align="right" height="100">取穴:</td>
                                            <td colspan="3" id="xueweiTd">
                                                <div id="nav">

                                                    <ul id="xueweiList"></ul>
                                                    <input id="xueweis">

                                                </div> 
                                            </td>

怎么实现 当第二个json数组元素和 第一个json数组元素 名字相同时 第二个数组背景变为红色
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • liuxiaoshuang002 Rex_IT 2016-07-20 09:12

    先循环第一遍,创建出来这些名字,并且给每个名字对应的控件赋值ID,然后循环第二个,就把当前对应的ID给设置为背景色为红色。

    如:
    第一遍循环创建

    。。。
    第二遍循环的时候,就把 A肝 设置为红色背景
    点赞 评论 复制链接分享

相关推荐