完整的json数组arr1包含一个小的json数组arr2 点击arr1其他元素arr2的值消失 10C

完整的json数组包含一个小的json数组 点击完整json数组的其他元素时小json数组返回的值也没了
**
实际上点击任何一个元素 之前的都会消失 而且心 和肝 点击后背景不会退掉**


                  var arr1 = [ { "name" : "心", "acupoint_num" : "1" }, { "name" : "肝",
                  "acupoint_num" : "2" }, { "name" : "脑袋", "acupoint_num" : "3" }, { "name" : "屁股",
                  "acupoint_num" : "4" } ];

                var retStr = ",";
                $('#xueweiList').append(
                        $(arr1).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, ''));
                        });


                /* 2-获取疾病对应穴位 */
                var arr2 = [ { "earName" : "心", "acupoint_num" : "1" }, { "earName" : "肝",
                      "acupoint_num" : "2" } ];
                var arrStr2 = '';   
                var xueweisStr = "";
                $.each(arr2, function(index2, item) { // 获取后台传来的json是数组
                    arrStr2 += "<input type='button' id='"
                            + arr2[index2].acupoint_num + "' value='"
                            + arr2[index2].earName + "' name='earName'/>";                      
                $.each(arr1, function(index, item) {
                    if(arr2[index2].acupoint_num==arr1[index].acupoint_num){
                        $("#"+arr1[index].acupoint_num).css({"background-color":"#98bf21"});
                                $("#xueweis").val(xueweisStr);//直接用js返回对应的穴位值给inupt赋值

                        }
                });

                xueweisStr += arr2[index2].acupoint_num + ",";

                }); 

                $("#xueweis").val(xueweisStr);//直接用js返回对应的穴位值给inupt赋值
                var td2 = document.getElementById("xueweiTd2");
                var div2 = document.getElementById("xuewei2");
                div2.innerHTML = arrStr2;
                td2.appendChild(div2);

            });

这个是没有点击脑袋之前 小的json数组包含 1 和2 两个id 对应 心和肝
图片说明

这个是点击脑袋之后 1 和2 都没有了
图片说明

2个回答

retStr你不是没有赋值,要依据arr2的值给retStr赋值

  $.each(arr2, function (index2, item) { // 获取后台传来的json是数组
        retStr +=item.acupoint_num+ ",";///////////////
                //////........
showbo
支付宝加好友偷能量挖 回复bulidfer: 你这个问题是retStr 没有值,自己慢慢调了,散人
3 年多之前 回复
u012503756
bulidfer 还是没弄出来 就差最后整合这一步了 后台传的值 和前端修改的值
3 年多之前 回复
showbo
支付宝加好友偷能量挖 回复bulidfer: ╮(╯▽╰)╭。。bug。。。O(∩_∩)O哈哈~
3 年多之前 回复
u012503756
bulidfer 你当时赋值是一个逗号,
3 年多之前 回复
u012503756
bulidfer 大侠 我都晕了 这个问题已经弄了快两周了 我试试
3 年多之前 回复

图片说明

那么这两行就可以不用了

u012503756
bulidfer 点击以后对arr1 返回的值 没有改变
3 年多之前 回复
u012503756
bulidfer 改成retStr后 arr1返回的心 和肝 成死的了 怎么点都不会消除
3 年多之前 回复
u012503756
bulidfer 改成retStr了 还是不行
3 年多之前 回复
showbo
支付宝加好友偷能量挖 最好改成retStr这个变量。。赋值还是需要的,要不没有点击过没有给xueweis赋值直接提交就是空值了
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!