Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中动态添加phparray变量_Php_Jquery_Html_Impromptu - Fatal编程技术网

在javascript中动态添加phparray变量

在javascript中动态添加phparray变量,php,jquery,html,impromptu,Php,Jquery,Html,Impromptu,我正在使用即兴jquery插件。我可以在“html”选项下插入html,但我需要填充从php获得的值数组。我无法插入它 我想要的是用php变量中的值填充一个选择框。 我试过: var statesdemo={ 州0:{ 标题:“使用条款”, html:“Data1:”, 按钮:{取消:错误,同意:正确}, 重点:1,, 提交:功能(e、v、m、f){ 如果(v){ e、 预防默认值(); $.prompt.goToState('state1',true); 返回false; } $.promp

我正在使用即兴jquery插件。我可以在“html”选项下插入html,但我需要填充从php获得的值数组。我无法插入它

我想要的是用php变量中的值填充一个选择框。 我试过:

var statesdemo={
州0:{
标题:“使用条款”,
html:“Data1:”,
按钮:{取消:错误,同意:正确},
重点:1,,
提交:功能(e、v、m、f){
如果(v){
e、 预防默认值();
$.prompt.goToState('state1',true);
返回false;
}
$.prompt.close();
}
},
更新1:

1-主要思想是在弹出窗口中放置下拉列表。
2-我想从我在服务器端(php)编写的mysql查询中获取下拉列表数据。因此,如果没有这个弹出窗口,@tomloprod建议的想法非常有效。现在回到弹出窗口,我可以添加如下html内容

 html : '< table > < /table > '  
html:'
'
但是我想在里面插入php变量,就像

html : '< table > < ?php $myvariable ?> < /table >'
html:'
'
方法1:使用
json\u编码
(推荐) 您可以将php数组添加到javascript数组,如下所示:

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

方法3:将
javascript数组的元素放入
select
HTML:

<select name="data1" id="cart_wonid" class="Data1"> </select>
// 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);
}

Javascript:

<select name="data1" id="cart_wonid" class="Data1"> </select>
// 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);
}
//定义数组
var javascript_数组=[];
//推动元件
javascript_Array.push(“Hi”);
javascript_Array.push(“Bye”);
//获取id为cart\u woneid的选择
var sel=document.getElementById('cart_wonid');
//用数组的元素填充“select”
var i,len=javascript_Array.length;
对于(i=0;i

JSFIDLE:

感谢上帝……我得到了答案……是“json编码($options)”起了作用……感谢stackoverflow和对@tomloprod&Juan Mendes的支持

我在使用“”时出错了错误是什么?不要一次问两个问题,一次问一个问题会让你的问题对你更有用others@JuanMendes:当我插入PHP时,我得到错误“未捕获语法错误:意外数字”&更新1是问题的详细描述,bot指向同一个。永远不要将PHP变量直接嵌入JavaScript字符串中,如果它们包含一个必须转义的值(在您的情况下为
'
),但可以是换行符,则会破坏JavaScript。使用
''+<?PHP echo json_encode($myvariable)?>+'
'
现在我得到了:未捕获的语法错误:意外的标记ok..那么只需在“html”中添加该变量就可以了?但是我该如何在“html”中添加该变量呢?我添加了“javascript_数组”,但它不起作用。我得到了一个空的HydroDown框此代码必须添加到“…”block.After可以根据需要使用
javascript\u数组
。JsFiddle不能使用服务器端代码(PHP)。您没有定义数组
$options
。请在您自己的应用程序中,在您的主机内尝试。无论如何,您的JSFIDLE不正确。我将编辑我的答案…抱歉@tomloprod:iam仅显示必要的内容。我已在文件中声明了$options。所有操作都正常。但是,当我尝试将其引入html时,它失败了&表示“未捕获的语法错误:意外数字”