2010-10-24 7 views
0

У меня есть переменная PHP, которая должна быть интерпретирована в JavaScript, как я делаю этоКак я заключаю Одиночные кавычки в двойных кавычках в JavaScript

var cntr = "<?php echo $j;?>"; 
var opt = "<?php echo $options;?>"; 
var opt_selected = "<?php echo get_options($val['SOMEVARIABLE'],$opt); ?>"; 
var reference = "<?php echo $val["RFDREFVAL"];?>"; 

Как я исправить вышеуказанные заявления IAM получать ошибку Javascript «незавершенная строка Contant» .Что это лучшее, чтобы это PHP переменные интерпретируются

+0

Каковы типичные значения выражений PHP '$ j',' $ options', 'get_options ($ val ['SOMEVARIABLE'], $ opt);' и '$ val [" RFDREFVAL "]'? – Eric

ответ

4

Try:

var reference = "<?php echo json_encode($val["RFDREFVAL"]);?>"; 

в общем случае, скажем, у вас есть PHP ехр вы хотите вставить строку Javascript. Назовем выражение PHP BLAH_BLAH_BLAH. Использование:

var my_variable_name = "<?php echo json_encode(BLAH_BLAH_BLAH);?>"; 

Так, например, если ваше выражение:

StuClass::getopt($val["CDE"],$opt) 

, то вы хотите:

var my_variable_name = "<?php echo json_encode(StuClass::getopt($val["CDE"],$opt));?>"; 
+0

@downvoter - прокомментировать? –

+0

Я пробовал эту опцию, но она дает константу unterminated string var opt_selected = ""; – Someone

1

Похоже, ваш PHP код производит вывод, который содержит цитаты и/или обратную косую черту. Используйте addslashes, чтобы избежать их, прежде чем использовать их в JavaScript. Например:

var cntr = "<?php echo addslashes($j);?>"; 

и аналогичным образом для других переменных.

+0

Я пробовал эту опцию, но она дает неизмененную строковую константу var opt_selected = " Someone

+0

' addlashes' должен быть внешний вызов. Попробуйте 'echo addslashes (StuClass :: getopt ($ val [" CDE "], $ opt));' – casablanca

Смежные вопросы