Добавить переменную phparray внутри javascript динамически

Я использую импровизированный плагин jquery. У меня есть варианты для вставки html под опцией "html", но мне нужно заполнить массив значений, которые я получаю из php. Я не могу вставить его.

То, что я хочу, это заполнить поле выбора значениями, которые находятся в переменной php. Я пробовал с:

JSFIDDLE

var statesdemo = {
    state0: {
        title: 'Terms of Use',
        html:'<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF"><tr><td><strong>Data1</strong></td><td>:</td><td id=\'Data1\'>   <select name=\'Data1\' id=\'cart_wonid\' class=\'Data1\'><?php echo $options;?> </select></td></tr></table>',
        buttons: { Cancel: false, Agree: true },
        focus: 1,
        submit:function(e,v,m,f){
            if(v){
                e.preventDefault();
                $.prompt.goToState('state1', true);
                return false;
            }
            $.prompt.close();
        }
    },

Обновление 1:

1- Основная идея - выпадающий список внутри всплывающего окна.
2- Я хочу получить данные выпадающего списка из запроса MySQL, который я написал на стороне сервера (php). Таким образом, без этого всплывающего окна идея, предложенная @tomloprod, работает отлично. Теперь, возвращаясь к всплывающему окну, я могу добавить содержимое HTML, как

 html : '< table > < /table > '  

Но я хочу вставить переменную PHP внутри него, как

html : '< table > < ?php $myvariable ?> < /table >'

2 ответа

Решение

Слава Богу... я получил ответ... его " json_encode($options) " делает свою работу.... Спасибо вам stackru и спасибо за поддержку @tomloprod & Juan Mendes

МЕТОД 1: Использование json_encode (рекомендуется)

Вы можете добавить массив php в массив javascript следующим образом:

var javascript_Array = <?php json_encode($php_Array); ?>;

МЕТОД 2: Положите элементы php array в select непосредственно

Попробуйте сделать это напрямую с массивом в PHP; Я не вижу необходимости передавать его JS...

<select name="data1" id="cart_wonid" class="Data1">
  <?php
     $len = count($options);
     for($c=0;$c<$len;$c++){
        echo '<option value="'.$options[$c].'">$options[$c]</option>';
     }
  ?>
</select>

МЕТОД 3: Положите элементы javascript array в select

HTML:

<select name="data1" id="cart_wonid" class="Data1"> </select>

Javascript:

// Define the array
var javascript_Array = []; 

// Push elements
javascript_Array.push("Hi");
javascript_Array.push("Bye");

// Get the select with id cart_woneid
var sel = document.getElementById('cart_wonid');

// Fill the "select" with the elements of array
var i, len = javascript_Array.length;

for(i = 0; i < len; i++) {
    var opt = document.createElement('option');
    opt.innerHTML = javascript_Array[i];
    opt.value = javascript_Array[i];
    sel.appendChild(opt);
}

JSFiddle: http://jsfiddle.net/1dpud00v/

Другие вопросы по тегам