Если postData используется для отправки параметров на сервер, этот параметр (postData) расширяется каждый раз, когда параметры, публикуемые на сервере, если сделан запрос. Согласно документации . Этот массив добавляется непосредственно к URL.
Проблема, с которой вы столкнулись, заключается в том, что вы неправильно установили новый параметр при запуске сетки. Что вы делаете:
var dims_guid = $("#dims_guid").val(); // New value for the grid
$("#dims_list").jqGrid('setGridParam' {"dims_guid":dims_guid}).trigger('reloadGrid');
Таким образом, вы добавляете новый параметр в сетку и не меняете существующий. Чтобы исправить это, необходимо изменить это в postData следующим образом:
var dims_guid = $("#dims_guid").val(); // New value for the grid
$("#dims_list").jqGrid('setGridParam',{ "postData" : { "dims_guid":dims_guid} }).trigger('reloadGrid');
Надеюсь, вы понимаете разницу.
Другое возможное решение - не использовать postData (удалить postData из параметры), но используйте URL только для изменения параметра, как вы делаете это во втором опубликованном коде. Вот так:
$("#dims_list").jqGrid({
url: "ajax_get_dims_for_grid.php?dims_guid="+$("#dims_guid").val(),
, а затем
var url="ajax_get_dims_for_grid.php?dims_guid="+$("#dims_guid").val();
$("#dims_list").jqGrid('setGridParam',{"url":url}).trigger('reloadGrid');