js中 replace 和正则表达式该怎么使用 点击以后 id为1 的 一直取消不掉 5C

点击以后 id为1 的 一直取消不掉

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;          
                /*1- 获取所有穴位 包括下面的事件是一个整体 */
                /*var arr1 = eval(json[index].xuewei);*/

                  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 = eval(json[index].ear_acupoint);*/
                var arr2 = [ { "earName" : "心", "acupoint_num" : "1" }, { "earName" : "肝",
                      "acupoint_num" : "2" } ];
                var arrStr2 = '';   
                var retStr = "";
                $.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"});
                        $("#"+arr1[index].acupoint_num).addClass('h_nav_over');
                    }
                });             
                retStr += arr2[index2].acupoint_num + ",";
                }); 

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

            });

        }
    });

}

效果图 那个1的id 一直取消不掉

图片说明

4个回答

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

  retStr = retStr.replace(',' + this.id + ',',
                                        ',');
    你的串格式是    ,id1,id2,   注意第一个逗号,所以retStr += this.id + ',';这里拼接,少了开始的第一个逗号。
danielinbiti
danielinbiti 回复bulidfer: if(!retStr) retStr=","; if (focus) retStr += this.id + ','; else retStr = retStr.replace(',' + this.id + ',', ',');
4 年多之前 回复
u012503756
bulidfer 虽然id 已经不影响了 但是都是重复的逗号
4 年多之前 回复
u012503756
bulidfer 重复点击 逗号就会重复
4 年多之前 回复
u012503756
bulidfer 我去掉了 但是 再次点击 逗号会重复
4 年多之前 回复

图片说明

图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐