Всем привет. Сейчас разбираюсь с jqGrid,и возникла такая проблема.
Вывел из таблицы все значения,но вот редактировать не хочет.
Скрипт основной страницы
<table id="jqGrid"></table>
<div id="jqGridPager"></div>
<script type="text/javascript">
$(document).ready(function () {
var template = "<div style='margin-left:15px;'><div> ID Товара <sup>*</sup>:</div><div> {idtov} </div>";
template += "<div> Наименование товара: </div><div>{tovar1} </div>";
template += "<hr style='width:50%;'/>";
template += "<div> {sData} {cData} </div></div>";
$("#jqGrid").jqGrid({
url: 'tovar.php',
editurl: 'tovaredit.php',
mtype: 'POST',
datatype: "json",
colModel: [
{
label: 'ID Товара',
name: 'idtov',
index: 'idtov',
width: 20,
key: true,
editable: false
},
{
label: 'Наименование товара',
name: 'tovar1',
index: 'tovar1',
width: 30,
editable: true // must set editable to true if you want to make the field editable
}
],
sortname: 'idtov',
sortorder : 'asc',
loadonce: true,
viewrecords: true,
width: 500,
height: 200,
rowNum: 10,
scroll: 1,
emptyrecords: 'Scroll to bottom to retrieve new page',
pager: "#jqGridPager"
});
$('#jqGrid').navGrid('#jqGridPager',
{ edit: true, add: true, del: true, search: false, refresh: false, view: false, position: "left", cloneToTop: false },
{
editCaption: "The Edit Dialog",
recreateForm: true,
checkOnUpdate : true,
checkOnSubmit : true,
closeAfterEdit: true,
errorTextFormat: function (data) {
return 'Error: ' + data.responseText
}
},
// options for the Add Dialog
{
closeAfterAdd: true,
recreateForm: true,
errorTextFormat: function (data) {
return 'Error: ' + data.responseText
}
},
// options for the Delete Dailog
{
errorTextFormat: function (data) {
return 'Error: ' + data.responseText
}
});
});
</script>
Код редактирования
<?php
$dbName = 'jqGridDB';
$dbUser = 'root';
$dbPass = '';
$dbHost = 'localhost';
try {
$tovar1 = $_POST['tovar1'];
$id = $_POST['idtov'];
$dbh = new PDO('mysql:host='.$dbHost.';dbname='.$dbName, $dbUser, $dbPass);
$dbh->exec('SET CHARACTER SET utf8');
$stm = $dbh->prepare('UPDATE tovar SET tovar1=? WHERE idtov=?');
$stm->execute(array($tovar1,$id));
}
catch (PDOException $e) {
echo 'Database error: '.$e->getMessage();
}