Событие jqGrid не активируется или не запускается при выборе строки - PullRequest
2 голосов
/ 15 декабря 2009

У меня запущена jqGrid на моей странице jsp, и мне нравятся все возможности этой сетки до сих пор. Сейчас я попытаюсь изучить функцию события. Я пытаюсь прикрепить функцию к событию onSelectRow сетки, но ничего не получается, когда я нажимаю на любой ряд сетки. Можете ли вы сказать мне, почему?

Я использую jqGrid 3.6. Нужно ли ссылаться на какую-либо другую библиотеку javascript, чтобы она работала?

Моя сетка отображается с загрузкой данных, но когда я щелкаю по любой строке, ничего не происходит.

Ниже мой сценарий:

<script src="javascript/jquery-1.3.2.js" type="text/javascript"></script>
<script src="javascript/ui.core.js" type="text/javascript" ></script>       
<script src="javascript/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="javascript/jquery.jqGrid.min.js" type="text/javascript"></script>    
<script src="javascript/ui.multiselect.js" type="text/javascript"></script>   
<script src="javascript/jquery-ui-1.7.2.custom.min.js" type="text/javascript"></script> 
<script type="text/javascript">
  jQuery(document).ready(function(){ 
    jQuery("#list").jqGrid({
      url:'admin.htm',
      datatype: 'xml',
      mtype: 'GET',
      colNames:['ID', 'data 1','data 2'],
      colModel :[ 
        {name:'ID', index:'ID', hidden:true}, 
        {name:'data 1', index:'data 1', width:90}, 
        {name:'data 2', index:'data 2', width:80, align:'right'}            
      ],
      rowNum:10,
      rowList:[10,20,30],
      sortname: 'ID',
      sortorder: 'desc',
      viewrecords: 'true',
      caption: 'Administration', width:"920",
      shrinkToFit:'false', }
  );

  jQuery("#list").jqGrid({
    onSelectRow: function(id){ alert('Selected row ID ' + id); }
  });
</script>

Моя сетка отображается с загрузкой данных, но когда я щелкаю по любой строке, ничего не происходит.

Ответы [ 3 ]

7 голосов
/ 15 декабря 2009

У вас есть лишняя запятая после shrinkToFit, которую необходимо удалить. Но прежде чем это исправить, почему вы добавляете обработчик onSelectRow позже, а не как часть определения сетки? Вы можете просто добавить его при создании сетки:

shrinkToFit:'false',
onSelectRow: function(id){
    alert('Selected row ID ' + id);
}
});
0 голосов
/ 02 января 2012

Я нашел это в качестве примера onSelectRow и обнаружил, что у меня возникли проблемы, если я фактически не переместил его в исходное объявление

0 голосов
/ 05 января 2010

Возможно, вам не хватает некоторых зависимостей jqGrid (это модульная конфигурация и конфигурация по умолчанию не включает в себя многие ее функции). Попробуйте сделать то же самое для полного пакета jqGrid. Также обязательно проверьте консоль ошибок JS на наличие признаков поломки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...