Я лично предпочитаю создавать jqGrid напрямую вместо использования tableToGrid
. В случае, если у вас нет описанных проблем.
Если вы предпочитаете использовать tableToGrid
, я могу предложить вам использовать следующий прием. Текущий код из tableToGrid
может получить значения rowid, но он получает их не из id
атрибутов <tr>
. Вместо этого он использует атрибут value
из переключателя из первого столбца таблицы. Это будет понятно на вашем примере. Вы можете изменить исходную таблицу следующим образом
<table id="myTable">
<thead>
<tr>
<th></th><th id="MyTitle">My Title</th>
</tr>
</thead>
<tbody>
<tr id="321"><td><input type="radio" name="sel" value="321"/></td><td>Item 321</td></tr>
<tr id="111"><td><input type="radio" name="sel" value="111"/></td><td>Item 111</td></tr>
<tr id="495"><td><input type="radio" name="sel" value="495"/></td><td>Item 495</td></tr>
</tbody>
</table>
В примере атрибут value
переключателя из первого столбца должен содержать rowid. Код JavaScript может быть
tableToGrid("#myTable", {
width: 230,
height: 'auto',
onSelectRow: function (id) {
alert(id);
},
colNames: ['My Title'],
colModel: [
{ name: 'MyTitle', index: 'MyTitle', sortable: false}
]
});
Демо-версия теперь будет работать так же, как вы.
Использование дополнительного столбца с переключателем может показаться ненужным. Мне лично так не нравится. Если вы посмотрите код из tableToGrid
, вы увидите, что это не сложно. Вы можете изменить его так, чтобы он получал rowids не от переключателей, а вместо id
из <tr>
.