2011-01-10 4 views
0

jqGrid를 사용하여 테이블을 표시하려고합니다. 누군가가 왜 작동하지 않는지 설명 할 수 있습니까? 나는 어떤 테이블도 볼 수 없으며 어떤 자바 스크립트 오류도 발생하지 않습니다! 당신은 jqGrid가 테이블을 표시하지 않습니다.

코드에서 일부 오류가 당신에게

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html width="100%" height="100%"> 
<head> 
    <title>payments search</title> 
    <script src="http://www.trirand.com/blog/jqgrid/js/jquery.js" type="text/javascript"></script> 
    <script src="http://www.trirand.com/blog/jqgrid/js/jquery-ui-1.8.1.custom.min.js" type="text/javascript"></script> 
    <script src="http://www.trirand.com/blog/jqgrid/js/jquery.layout.js" type="text/javascript"></script> 
    <script src="http://www.trirand.com/blog/jqgrid/js/i18n/grid.locale-en.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $.jgrid.no_legacy_api = true; 
     $.jgrid.useJSON = true; 
    </script> 
    <script src="http://www.trirand.com/blog/jqgrid/js/ui.multiselect.js" type="text/javascript"></script> 
    <script src="http://www.trirand.com/blog/jqgrid/js/jquery.jqGrid.min.js" type="text/javascript"></script> 
    <script src="http://www.trirand.com/blog/jqgrid/js/jquery.tablednd.js" type="text/javascript"></script> 
    <script src="http://www.trirand.com/blog/jqgrid/js/jquery.contextmenu.js" type="text/javascript"></script> 
    <link rel="Stylesheet" type="text/css" href="http://www2.test.org.uk/OpenSocialSamples/visualiser.css" /> 
    <script type="text/javascript"> 
     jQuery("#list4").jqGrid({ 
      datatype: "local", 
      height: 250, 
      colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'], 
      colModel:[ 
       {name:'id',index:'id', width:60, sorttype:"int"}, 
       {name:'invdate',index:'invdate', width:90, sorttype:"date"}, 
       {name:'name',index:'name', width:100}, 
       {name:'amount',index:'amount', width:80, align:"right",sorttype:"float"}, 
       {name:'tax',index:'tax', width:80, align:"right",sorttype:"float"}, 
       {name:'total',index:'total', width:80,align:"right",sorttype:"float"}, 
       {name:'note',index:'note', width:150, sortable:false} 
      ], 
      multiselect: true, 
      caption: "Manipulating Array Data" 
     }); 
     var mydata = [ 
      {id:"1",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, 
      {id:"2",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, 
      {id:"3",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}, 
      {id:"4",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, 
      {id:"5",invdate:"2007-10-05",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, 
      {id:"6",invdate:"2007-09-06",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}, 
      {id:"7",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, 
      {id:"8",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, 
      {id:"9",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"} 
     ]; 
     for(var i=0;i<=mydata.length;i++) 
      jQuery("#list4").jqGrid('addRowData',i+1,mydata[i]); 
    </script> 
</head> 
<body width="100%" height="100%" style="margin: 0px; padding: 0.5em;"> 
    <table id="list4"></table> 
</body> 
</html> 

답변

1

감사 복사하여 HTML 파일에이 코드를 붙여 (문제가 해결되면)가 작동해야 할 수 있습니다. 주요 문제는 실제로 필요한 CSS 파일을 포함하지 않고 문서가로드 될 때까지 대기하도록 jQuery(document).ready(function() {/*you code here*/}); 구조를 사용하지 않는 것입니다. 적은 단어를 쓰려면 모든 문제를 해결하고 덜 효과적인 addRowData 대신 data 매개 변수를 사용하도록 코드를 변경하십시오.

고정 된 예제 라이브 here을 볼 수 있습니다.

관련 문제