Заполните раскрывающийся список jqGrid с помощью события beforeShowForm - PullRequest
2 голосов
/ 14 декабря 2010

Я пытаюсь динамически заполнить раскрывающийся список, когда пользователь пытается добавить новую запись в подробный jqGrid. Вот что у меня так далеко. Он хорошо загружает данные, но не устанавливает значение в раскрывающемся списке. Любая помощь будет принята с благодарностью.

beforeShowForm: function(formid) {
       var sr = $("#list").jqGrid('selrow');
       if (sr) {
           // get data from master
           var UserID = $("#list").getGridParam('selrow');
           var roles = $.ajax({ type: "POST",
               url: '<%= ResolveUrl("~/Admin/GetRoles/") %>' + UserID,
               dataType: "json",
               async: false,
               success: function(data) {

               }
           }).responseText;

           // set the field in detail with the value of mnaster
           $("#UserID", formid).val(UserID);
  // try and populate dropdown
           $('#detail').setColProp('Description', { editoptions: { value: roles} });
       } else {
           // close the add dialog
           alert("no row is selected");
       }

   }

1 Ответ

2 голосов
/ 15 декабря 2010

В вашем первом вопросе я объяснил вам, как использовать dataUrl для динамического создания содержимого выпадающего списка.Если вы используете для редактирования формы для изменения данных сетки, вы можете использовать beforeInitData вместо beforeShowForm для изменения dataUrl на '<%= ResolveUrl("~/Admin/GetRoles/") %>' + $("#list").jqGrid('selrow') до , форма будет заполнена.Таким образом, вы можете упростить код, сделав запрос ajax асинхронным, и вопрос с установкой значений в раскрывающемся списке будет автоматически решен.

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