bulidfer 2016-07-22 02:43 采纳率: 0%
浏览 1338
已结题

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

点击以后 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条回答

  • danielinbiti 2016-07-22 02:50
    关注
      retStr = retStr.replace(',' + this.id + ',',
                                            ',');
        你的串格式是    ,id1,id2,   注意第一个逗号,所以retStr += this.id + ',';这里拼接,少了开始的第一个逗号。
    
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料