Зависает jqGrid с jquery-1.4.2.min.js и jquery-ui-1.8.4

#jquery #jqgrid

#jquery #jqgrid

Вопрос:

Я потратил много времени, пытаясь заставить jqGrid работать с jquery, но безуспешно. В конце концов, я сократил его до минимума, чтобы изолировать проблему:

У меня есть веб-страница, использующая jquery-1.4.2.min.js и jquery-ui-1.8.4 (пользовательские цвета Redmond). Я создаю jqGrid со статическим содержимым, чтобы упростить его. Когда я обновляю страницу, jqGrid загружает содержимое, затем страница зависает (т. Е. нет ответа ни на один из элементов в jqGrid или любых других элементах на странице). Это происходит как с jqgrid 3.8.4, так и с 4.0.

Есть идеи, что здесь пошло не так?

(страница ниже сокращена до минимума — при необходимости доступна полная страница)

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="Generator" content="manual" />
<title>Test</title>
<link rel="stylesheet" type="text/css" media="screen" href="/js/ui.jqgrid.css" />
<link type="text/css" href="/css/redmond/jquery-ui-1.8.4.custom.css" rel="stylesheet" />
<script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="/js/jquery-ui-1.8.4.custom.min.js"></script>
<script type="text/javascript" src="/js/grid.locale-en.js"></script>
<script type="text/javascript" src="/js/jquery.jqGrid.min.js"></script>
<script type="text/javascript">

$(document).ready(function() {
    init_jqgrid();
});

function init_jqgrid()
{
var mydata = [ {id:"1",invdate:"2010-05-24",name:"test",note:"note",tax:"10.00",total:"2111.00"} ,
{id:"2",invdate:"2010-05-25",name:"test2",note:"note2",tax:"20.00",total:"320.00"},
{id:"3",invdate:"2007-09-01",name:"test3",note:"note3",tax:"30.00",total:"430.00"},
{id:"4",invdate:"2007-10-04",name:"test",note:"note",tax:"10.00",total:"210.00"},
...
{id:"29",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"} ];

jQuery("#list47").jqGrid({
    data: mydata,
    datatype: "local",
    height: 150,
    rowNum: 10,
    rowList: [10,20,30],
    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", formatter:"date"}, {name:'name',index:'name', width:100},
    {name:'amount',index:'amount', width:80, align:"right",sorttype:"float", formatter:"number"}, {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} ],
   pager: "#plist47",
   viewrecords: true,
   caption: "Manipulating Array Data" });
}); 
});
</script>

...

</head>
<body>
...

<table id="list47""></table>
</body>
</html>
  

Есть идеи? Если у меня несовместимый набор компонентов, какой наилучший путь обновления? jQuery? Пользовательский интерфейс jQuery?

Ларс Эрландсен.

Комментарии:

1. Вы пробовали использовать нестандартный пользовательский интерфейс?

Ответ №1:

В вашем JavaScript и HTML-коде всего лишь несколько синтаксических ошибок. Посмотрите на это и эту небольшие модификации вашего кода.

Я рекомендую вам проверить свой HTML-код здесь и свой JavaScript-код здесь.