<head>
                function pageselectCallback(page_index, jq) {
                    var jsonlist=eval('(+str+)');//获取不到值啊??
                    var items_per_page = $('#items_per_page').val();
                    var max_elem = Math.min((page_index + 1) * items_per_page, members.length);
                    var newcontent = '';                    for (var i = page_index * items_per_page; i < max_elem; i++) {
                        newcontent += '<dt>' + members[i][0] + '</dt>';
                        newcontent += '<dd class="state">' + members[i][1] + '</dd>';
                        newcontent += '<dd class="state">' + members[i][2] + '</dd>';
                        newcontent += '<dd class="party">' + members[i][3] + '</dd>';
                        newcontent += '<dd class="party">' + members[i][4] + '</dd>';
                    }
                    $('#Searchresult').html(newcontent);
                    return false;
                }
</head>后台 有数据:
  ds = order.getValue("");//dataset
        str = LouvreEcrm.Common.JSONSerializer.DataTableToJSON(ds.Tables[0]);//json格式请问在前面那个函数里面 怎么获取到json或者ds 的数据啊???

解决方案 »

  1.   

    看看str是不是本身就没值 你给的代码看不出服务器端转换后的json数据时怎么传递到js中的str的
      

  2.   


    function pageselectCallback(page_index, jq) {
                        var jsonlist=eval('(+str+)');//获取不到值啊??
    这里你的str没定义,当然没有值,函数pageselectCallback是Ajax的回调函数吧,Ajax请求返回的数据会在这个函数的参数里
      

  3.   

    发了帖子才发现……楼主你这里写错了啊!eval('(+str+)')
    应该是这样的吧:eval('('+str+')')
      

  4.   


    members 是一个初始值js
    var members = [
        ['Fred G. Aandahl', '1951-1953', 'North Dakota', 'Republican', '1897-1966'],
        ['Watkins Moorman Abbitt', '1948-1973', 'Virginia', 'Democratic', '1908-1998'],
        ['Amos Abbott', '1843-1849', 'Massachusetts', 'Whig', '1786-1868'],
        ['Jo Abbott', '1887-1897', 'Texas', 'Democratic', '1840-1908'],
        ['Joel Abbott', '1817-1825', 'Georgia', 'Democratic-Republican', '1776-1826'],
        ['Josiah Gardner Abbott', '1876-1877', 'Massachusetts', 'Democratic', '1841-1891'],
        ['Nehemiah Abbott', '1857-1859', 'Maine', 'Republican', '1804-1877'],
        ['James Abdnor', '1973-1981', 'South Dakota', 'Republican', '1923-']
    ];
      

  5.   

     我这里是要去后台的  str值啊    我在前台需要定义么?? 
    我贴完整的代码:
                 <script type="text/javascript" language="javascript">
                    function pageselectCallback(page_index, jq) {                    var items_per_page = $('#items_per_page').val();
                        var max_elem = Math.min((page_index + 1) * items_per_page, members.length);
                        var newcontent = '';                    for (var i = page_index * items_per_page; i < max_elem; i++) {
                            newcontent += '<dt>' + members[i][0] + '</dt>';
                            newcontent += '<dd class="state">' + members[i][1] + '</dd>';
                            newcontent += '<dd class="state">' + members[i][2] + '</dd>';
                            newcontent += '<dd class="party">' + members[i][3] + '</dd>';
                            newcontent += '<dd class="party">' + members[i][4] + '</dd>';
                        }
                        $('#Searchresult').html(newcontent);
                        return false;
                    }                function getOptionsFromForm() {
                        var opt = { callback: pageselectCallback };                    $("input:text").each(function () {
                            opt[this.name] = this.className.match(/numeric/) ? parseInt(this.value) : this.value;
                        });                    var htmlspecialchars = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;" }
                        $.each(htmlspecialchars, function (k, v) {
                            opt.prev_text = opt.prev_text.replace(k, v);
                            opt.next_text = opt.next_text.replace(k, v);
                        })
                        return opt;
                    }
                    $(document).ready(function () {                    var optInit = getOptionsFromForm();
                        $("#Pagination").pagination(members.length, optInit);
                        $("#setoptions").click(function () {
                            var opt = getOptionsFromForm();                        $("#Pagination").pagination(members.length, opt);
                        });                });        </script>
      

  6.   


    我是想  用后台的json 对象 替换members  ,如何处理啊 ???
      

  7.   

    你直接用$.each不行吗
    $.each(members ,function(k,v){
                            newcontent += '<dt>' + v[0] + '</dt>';
                            newcontent += '<dd class="state">' + v[1] + '</dd>';
                            newcontent += '<dd class="state">' + v[2] + '</dd>';
                            newcontent += '<dd class="party">' + v[3] + '</dd>';
                            newcontent += '<dd class="party">' + v[4] + '</dd>';
    });
      

  8.   


    members  可以替换成json对象么?怎么获取不到啊  ??  
    后台 有json数据啊  str = LouvreEcrm.Common.JSONSerializer.DataTableToJSON(ds.Tables[0]);//json格式  这也有值 ,我输出看过 。
      

  9.   

    $.get('/*请求地址*/' , {/*参数*/} , function(data){
    /*data就是后台返回的数据*/
    },'json');
      

  10.   

     var jsonlist=<%= str %>
      

  11.   

    用firebug查看获取到的json是否为null
    而且应该这样写var json = eval('(' + str + ')'); 
    参考:http://www.jb51.net/article/25987.htm