在同一个html页面中,自己拼接的html代码,调用js函数,参数值变 了
<script type="text/javascript">  
    $(document).ready(function(){     
        $.ajax({    
           type:"POST",    
           url: "../news.do?reqCode=showNewsInHtml&postType=1"+"&currentPage=1", 
           dataType:"json",    
           error: function(data){
           var objJson = eval( "(" + data.responseText + ")" );//转换后的JSON对象
           var pageSize = 10;
           var totalCount = objJson.TOTALCOUNT;
           $('#countnews').text(totalCount);//共有多少条新闻数据
          // eval("window.totalPages = new Object();");
           window.totalPages = parseInt(totalCount / pageSize + (totalCount % pageSize == 0 ? 0 : 1));//每页10条,共有多少页
           //alert(totalPages);
           $('#countpages').text(totalPages);//共有多少页
           options.totalPages = totalPages;
           $('#paging').bootstrapPaginator(options);
           var totalString = objJson.ROOT;
           var bb =$(document).find("#newslist");
           for ( var i = 0; i < totalString.length; i++)
             {  
                var j = i + 1;
                bb.append( "<tr><td bgcolor='#FFFFCC'>"+ j +"</td><td bgcolor='#FFFFCC' ><a href='#' onclick='return showNewsContent("+totalString[i].newsid +")'>" + totalString[i].newsname + "</a></td>"   
                + "<td bgcolor='#FFFFCC'>" + totalString[i].newsinputtime + "</td>"   + "</tr>"); 
                //alert(totalString[i].newsid);
               }
           }
        })
      
    });
    
</script>  

<script type="text/javascript">
   function showNewsContent(newsid){
      // alert(newsid);
       $.ajax({    
           type:"POST",    
           url: "../news.do?reqCode=showNewsDetailInHtml&postType=1"+"&newsid="+ newsid, 
           dataType:"json",    
          success: function(data){ 
                 var aa =$(document).find("#newscontent");
                 $("#newscontent ").empty();
                  var i = 0;
                     aa.append( "<div class='container2'><a href='news.html'><h4>新闻列表</h4></a></div><div class='container2'><h2 style='text-align:center;'>"+data[i].newsname+
                     "</h2></div><div class='container2' style='height:1px;background-color:blue;''></div>"
                     +"<div class='container2'>"+ data[i].newscontent
                     +"</div><div class='container2' style='text-align:right;'><span ></br></br>来源:"+ data[i].newsresource
                     +"&nbsp;&nbsp;&nbsp;&nbsp;发布时间:"+data[i].newsinputtime+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div>"); 
           }  
       });  
       
   }
</script>

 在如上代码中,首先拼接出新闻列表的html代码,当点击标题是,调用showNewsContent(newsid)传入的参数newsid值有时错误有时对,搞了一晚上也没找到原因

2个回答

不能确定,猜+蒙吧
1.问题中说的方法得到参数不对是啥情况,是newsid值为空还是与所点击的不对应。
2.多换浏览器试试
3.换种方法,比如把newsid最为的id属性,点击后通过$(this).attr("id")获得newsid值
4.把函数接受参数转为字符串类型,生成html的调用参数也改为字符串,在函数里字符串转换数值

sanmao1037609818
sanmao1037609818 我想再问问,为什么像我那样写会出错呢?谢谢!
6 年多之前 回复
sanmao1037609818
sanmao1037609818 我用了你提的第三种方法解决了,非常感谢,困扰了我差不多两天啊!
6 年多之前 回复

你应该检查totalString[i]里的值是否是正确的!

sanmao1037609818
sanmao1037609818 传进来的时候是对的,就是调用的时候出问题了,出现隔一个对一个
6 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问