переменная php в javascript переменной интеграции jqgrid - PullRequest
0 голосов
/ 17 марта 2012

У меня есть функция php для получения данных из базы данных mysql:

function get_persons() {
    $result=dbquery("SELECT id,name,surname FROM ".DB_PERSONS." ORDER BY id ASC");
    while ($person = dbarray($result)){
        $id=$person['id'];
        echo "<option value='$id'>$person['name'] - $person['surname']</option>";
    }
}

И у меня есть код JavaScript:

$edit_buttonoptions = array("#pager", 
    array("title"=>"Takım Seç","buttonicon"=>"ui-icon-mail-open","caption"=>"Takım Seç", "onClickButton"=>"js: 
 var jspersonvar;
 jspersonvar = "<?php get_persons();?>"
function(){
    var selr = jQuery('#grid').jqGrid('getGridParam','selrow');
    var rowData = jQuery('#grid').jqGrid('getRowData', selr);
    var kelr = jQuery('#grid').jqGrid('getCell', selr, 'bilinen_adi');
    var fotograf = jQuery('#grid').jqGrid('getCell', selr, 'logo');
    if(selr)
        miktar=miktar+1,
        pp='takimlar',
        nm=pp + miktar,
        jQuery('#takimlar').append('<div id=' + nm + '>'),
        jQuery('#'+ nm +'').append('<div style=text-align:center;>'+fotograf+'<input type=hidden name=takim'+ miktar +' value=' + selr + ' />'),
        jQuery('#'+ nm +'').append('<select name=sezon'+ miktar +' id=sezon'+ miktar +'>'+jspersonvar+'</select>'),
        jQuery('#'+ nm +'').append('' + kelr + ''),
        jQuery('#'+ nm +'').append('</div>'),
        jQuery('#'+ nm +'').append('</div><br />'),

      alert('' + kelr + ' Takımı Seçildi')
    else
    alert('Lütfen Bir Takım Seçiniz!')
    return false;
    }"),
); 
$grid->callGridMethod("#grid", "navButtonAdd", $edit_buttonoptions);

Это не работает, яперепробовал несколько вещей, но не повезло ...

1 Ответ

1 голос
/ 17 марта 2012

Вам нужно поместить переменную в кавычки, так как она будет выглядеть так, когда сервер отображает страницу:

jspersonvar = <option value='$id'>......

Если у вас есть кавычки, jspersonvar будет рассматриваться как строкавы можете делать с ней все, что хотите.

jspersonvar = "<?php get_persons();?>"

Просто предупреждаем, что любая отображаемая " в вашей базе данных испортит ваш javascript.

...