我想在单引号中包含PHP
变量,因为我无法访问JQUERY
插件中的双引号变量(X-Editable
)
PHP
$countries = array();
foreach($countries as $c){
$country_id = $c['country_id'];
$short_name = $c['short_name'];
array_push($countries, array('value' => '$country_id', 'text' => '$short_name')); <-- I want something like this...
}
我无法使用:
array('value' => $country_id, 'text' => $short_name) OR
array('value' => "$country_id", 'text' => "$short_name")
JQUERY
$('#cus_country').editable({
type: 'select',
pk: '1',
url: '/user/inline_edit',
title: 'Enter Country',
source: '<?=json_encode($countries)?>',
display: function(value) {
if (value !== "Add Country"){
$(this).html('<i class="fa fa-pencil"></i>' + value);
}
},
success: function(response, newValue) {
//alert(response);
if(response.status == 'error') return response.msg;
}
});
修改 当我用作静态值时,它会出现在下拉菜单中,没有任何错误。但是当我把变量放在数组中时就会出现问题。
例如:
CASE # 1
$countries = array('value'=>'some', 'text'=>'thing');
output of this variable:
Array([0]=>Array([value]=>some [text]=>thing))
CASE # 2
$countries = array('value'=>$some, 'text'=>$thing);
output of this variable:
Array([0]=>Array([value]=>some [text]=>thing))
正如您所看到的,两种情况都给了我相同的输出。但是,第一种情况会生成下拉列表而第二种情况不会生成。
答案 0 :(得分:0)
array_push($countries, array('value' => "'.$country_id.'", 'text' => '$short_name'));
你必须使用。 。 php中的语法定义了对变量进行derefence的位置。通过使用'$test'
,您不是使用变量,而是使用带有美元符号和字母测试的字符串。
答案 1 :(得分:0)
我发现了问题。
这是不正确的变量形式。在数据库中,变量以这种格式存储:People's thing
等。
感谢@jonathan Kuhn的帮助。