Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Формирование js-скриптов средствами PHP


Автор: lexnext1 2.10.2011, 13:06
Доброго времени суток!
 Необходима следующая вещь - формирование js- кода средствами php:
Код

$(function(){
jQuery("#table1").jqGrid({        
    url:'/service/list',
    datatype: "json",
    colNames:['Id','Наименование', 'Значение', 'Тип'],
    colModel:[
        {name:'id',index:'id', width:55,editable:false,editoptions:{readonly:true,size:10}},
        {name:'name',index:'name', width:80,editable:true,editoptions:{size:10}},
        {name:'Value',index:'value', width:90, editable: true,edittype:"select",editoptions:{value:"1:Количество;2:Время"}},
        {name:'Type',index:'Type', width:90, editable: true,edittype:"select",editoptions:{value:"1:3;2:4;3:5;4:Другое"}},
            ],
    rowNum:10,
    rowList:[10,20,30],
    pager: '#pagered',
    sortname: 'id',
    viewrecords: true,
    sortorder: "desc",
    caption:"Editing Example",
    editurl:'/config/',
    ondblClickRow: function(id) {
      $("#table1").editGridRow(id, {closeAfterEdit: true, reloadAfterSubmit: false, jqModal:true, closeOnEscape:true, resize: false} )
    }
});
$("#bedata").click(function(){
    var gr = jQuery("#editgrid").jqGrid('getGridParam','selrow');
    if( gr != null ) jQuery("#editgrid").jqGrid('editGridRow',gr,{height:280,reloadAfterSubmit:false});
    else alert("Please Select Row");
});

Самая простая реализация - это класс, который собирает все необходимые параметры в массив, и на выходе массив преобразовывает в этот код.
 Но может быть уже есть готовые решения для этого? с более сложной логикой и опциями?


Автор: Toydestroyer 2.10.2011, 14:12
Я думаю тут частный случай. А в чем собственно проблема? Генерируйте нужный js-код и возвращайте его в браузер с заголовком text/javascript

Автор: Pokoinik 3.10.2011, 11:47
А почему бы не сделать функцию в js'е, которая в зависимости от принимаемых параметров выполняет то или другое действие. 
Идиологически правильнее, чтобы js лежал в отдельном файле и для его выдачи использовался только вебсервер, а не дергался еще php. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)