[英]Using JQuery variable inside $( php)
我有一个像这样的ajax帖子
var ht = $.ajax({
type: "GET",
url: "http://localhost/FormBuilder/index.php/forms/viewChoices/"+attribute_id,
async: false
}).responseText;
var myObject = eval('(' + ht + ')');
var data = myObject;var j=0;
alert(data.choices);//alerts the choices as object
$(""+<?php echo $form->input('field', array('type' => 'radio','legend'=>$r['Attribute']['label'],'separator' => '--separator--',
'options' => array() ));?>+"").appendTo("#"+<?=$r['Attribute']['id'];?>);
在最后一行中,我在JQUery中创建一个单选按钮,向我展示了图例的正确性,但是我尝试使用data.choices,它是PHP数组内的一个JQuery变量,即在“ options” => array()中所以???
您正在将服务器端语言(PHP)与客户端语言(JavaScript / jQuery)混淆。 当您的服务器处理PHP代码时,它会完全忽略JavaScript代码,这只是它的普通文本。 然后,在请求被处理并发送到客户端之后,他的浏览器开始解释JavaScript,但是这次它没有访问PHP变量的权限(因为响应是从PHP代码生成的HTML)。
我想我不完全理解您的问题,如果您需要PHP处理代码,则需要使用AJAX从JavaScript调用它,然后处理结果。 如果要在生成站点内容时生成此单选按钮,则应仅依赖PHP变量并使用它们来创建按钮。
只是为了向您说明您的代码行:
$(""+<?php echo $form->input('field',
array('type' => 'radio',
'legend'=>$r['Attribute']['label'],
'separator' => '--separator--',
'options' => array() ));?>
+"").appendTo("#"+<?=$r['Attribute']['id'];?>);
如果PHP分别回显了“ text1”和“ text2”。 你将会拥有
$("" + text1 + "").appendTo("#"+text2);
将会失败,因为这些不是变量名。 在页面上查看资源,以查看要下载到浏览器中的内容。
另外,考虑在隐藏变量中设置PHP值,然后从JavaScript引用它。 混合服务器和客户端代码通常会非常混乱。 被称为吊牌汤 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.