2009-12-15 3 views
2

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

Я использую 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> 

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

ответ

7

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

shrinkToFit:'false', 
onSelectRow: function(id){ 
    alert('Selected row ID ' + id); 
} 
}); 
0

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

-1

Я нашел это в качестве примера onSelectRow и обнаружил, что у меня были проблемы, если бы я не переместил его в оригинальную декларацию

Смежные вопросы