2013-05-21 6 views
0

Im пытается работать редактирование формы с автозаполнением .. его источник меняется каждый раз, когда пользователь открывает форму редактированияjqgrid автозаполнения динамического локального источника

при открытии форма редактирования:

beforeShowForm: function(frm) { 
    var id = grid.jqGrid('getGridParam','selrow'); 
    if (id) { 
     var ret = grid.jqGrid('getRowData',id); 
     AccCode = ret.szAccCode; 
    }; 
    $.post("url_getchildren", { szAccCode: AccCode}). 
     done(function(data) { 
       lschildcode=data; 
     }); 
}, 

я сумел результат от server, , но я не могу отправить его в сетку.

colModel:

{name:'szAccParentCode',index:'szAccParentCode', editable:true, edittype:'text', 
    editoptions : { 
     dataInit: function(elem){ 
      $(elem).focus(function(){ 
       this.select(); 
      }), 
      $(elem).autocomplete({ 
       source:lschildcode 
      }) 
     } 
    } 
}, 

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

ТИА

ответ

0

Я думаю, что dataInit (и так autocomplete) будет называться до тогоdone из $.post будет выполнена.

Чтобы устранить проблему вы можете позвонить, например, $("#szAccParentCode").autocomplete({source:lschildcode}) внутри done.

Другой способ: URL можно использовать как значение source. URL может содержать некоторые дополнительные параметры. Если вам нужно использовать HTTP POST, вы можете объявить source как функцию и вызвать параметр response (функция обратного вызова) внутри success или done вашего source. Просто посмотрите на реализацию source в примере the remote with caching и просмотрите код (щелкните «источник просмотра») или изучите исходный код автозаполнения jQuery UI около $.ajax (см. here).

+0

большое спасибо @Oleg ... я сделал это функция (данные) { $ ("# szAccParentCode"). Автозаполнение ({источник: JSON.parse (data)}); } внутри $ .post – aramadhani

+0

btw источник не меняется, когда я нажимаю следующую/предыдущую запись в форме редактирования .. любое предложение, куда я должен поставить эту функцию? – aramadhani

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