Я хочу вложить 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))
Как вы можете видеть, оба случая дают мне одинаковые результаты. Но первый случай создает выпадающий список, а второй нет.
array_push($countries, array('value' => "'.$country_id.'", 'text' => '$short_name'));
Вы должны использовать. , синтаксис в php, чтобы определить, где разыменовывать переменную. Используя '$test'
вы не используете переменную, а строку со знаком доллара и тестом букв.
Я нашел проблему.
Это была неправильная форма переменной. В базе данных переменные были сохранены в следующем формате: People's thing
, так далее.
Спасибо @jonathan Kuhn за помощь.