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 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能