Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jqGrid. Заполнение select значениями из запроса. (https://javascript.ru/forum/jquery/12370-jqgrid-zapolnenie-select-znacheniyami-iz-zaprosa.html)

dl007 14.10.2010 16:17

jqGrid. Заполнение select значениями из запроса.
 
Не откажите в помощи plz чайнику....а то уже совсем отчаялся! :-)
В JQGrid необходимо сделать заполнение selecta значениями из запроса.

colModel:[
{name:'kod_podr', edittype:'select', formatter:'select', editoptions:{value:GetDicPodr()}, editable:true}],

function GetDicPodr() {    // загружаем значения в Select
    StrkDicPodr="";
    $.getJSON("ic/getd_dic.php", null, function(data) { 
          if (data != null) { 
                 $.each(data, function(i,dt){
                       StrkDicPodr=StrkDicPodr+dt.isn+":"+dt.name+";";
                 });           
          } 
    }); 
    return StrkDicPodr;
}


И все вроде бы прекрасно, но! - проблема в том, что при выходе из функции $.getJSON() в переменной StrkDicPodr восстанавливается значение, заданное ей в строке №5. Следовательно return возвращает пустую строку.
Как передать данные из функции $.getJSON() в функцию GetDicPodr()?
...уже всю голову сломал...

walabyn 18.10.2010 00:52

а почему не
var StrkDicPodr="";

и почему не
StrkDicPodr+=StrkDicPodr+dt.isn+":"+dt.name+";";

dl007 18.10.2010 10:21

Цитата:

Сообщение от walabyn (Сообщение 74718)
а почему не
var StrkDicPodr="";

Так уже пробовал. Повторюсь, я чайник в JavaScript, и в одной документации вычитал, что определение переменной без "Var" делает ее глобальной...

Цитата:

Сообщение от walabyn (Сообщение 74718)
и почему не
StrkDicPodr+=StrkDicPodr+dt.isn+":"+dt.name+";";

А какая раздница? ...впрочем так тоже не работает:(.
Здесь, что-то связанное с видимостью переменных. Пока сообразить не могу...

walabyn 18.10.2010 11:34

в js перед появлением новой переменной всегда надо ставить var, а по случаю
StrkDicPodr+=StrkDicPodr+dt.isn+":"+dt.name+";";

я проглядел что значение приплюсовывается, извините, плюс можно убрать.
вызывается ли в php-файле json_encode? и поддерживается ли он на хостинге? по js вроде все верно тогда

dl007 18.10.2010 16:31

Цитата:

Сообщение от walabyn (Сообщение 74757)
вызывается ли в php-файле json_encode? и поддерживается ли он на хостинге? по js вроде все верно тогда

Да, json_encode вызывается. И вообще StrkDicPodr прекрасно формируется. Просто ее значение теряется при выходе из функции $.getJSON().
Даже не теряется а восстанавливается прежнее значение, заданное в строке №5. Т.е если в строке №5 записать
var StrkDicPodr="777";
то return в строке №13 возвратит: "777". Мелочь какая то, а сообразить не могу!:(


Часовой пояс GMT +3, время: 11:08.