bulidfer 2016-07-20 02:13 采纳率: 0%
浏览 1178
已结题

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

这个是第一个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条回答 默认 最新

  • Rex_IT 2016-07-20 09:12
    关注

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

    如:
    第一遍循环创建

    。。。
    第二遍循环的时候,就把 A肝 设置为红色背景
    评论

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛