Intereting Posts
Входной параметр $ _GET, являющийся массивом Как преобразовать все изображения в формат JPG в PHP? Создайте форму отправки (оберните таблицу в форму и покажите ее как таблицу снова) из продуктов, которые были заказаны Apple Push Notification Service с PHP Script Как извлечь почтовую атаку с помощью PHP? Шифровать пароль перед сохранением в базе данных? Как вы получаете Cronjob, выполняющий PHP-скрипт для работы более 30 секунд? Скремблирование изображений ссылок на изображения в PHP Перекрывающая ассоциация сущностей, вызывающая ошибки внешнего ключа базы данных при удалении объекта PHP Вызов неопределенной функции Пагинация в Laravel 4 работает на одной странице. но не работает для другого Как получить защищенное свойство объекта в PHP Используйте DomDocument для замены всех тегов заголовков тегами h4 PHP is_writeable или открыт другой программой? Проблема с запросом MSSQL в PHP и запрос текстовых данных

Как использовать переменные PHP в качестве значений тега <script> при рендеринге кода jQuery в представлении CakePHP?

Я новичок в CakePhp и JQuery. Я получаю ошибку в использовании кода cakephp внутри моего JQuery.

Мой код

<script type="text/javascript"> $(document).ready(function(){ var attributeid;var fieldname; $("#"+<?=$r['Attribute']['id'];?>).change(function () { fieldname=<?=$r['Attribute']['label'];?>; alert(fieldname);//this show me that undefined attributeid=<?=$r['Attribute']['id'];?>; alert(attributeid);//But this works });//attribute change });//ready function 

если я эхо ($r['Attribute']['label'];) это значение входит в мой <?php ?> . Но не внутри моего JQuery.

Заметка :

 attributeid=<?=$r['Attribute']['id'];?>; alert(attributeid);//But this works Error: Name is not defined fieldname=name; alert(fieldname); 

Solutions Collecting From Web of "Как использовать переменные PHP в качестве значений тега <script> при рендеринге кода jQuery в представлении CakePHP?"

Вы не думаете о том, как это переводится, как только переменные повторяются.

Если у вас есть переменная $x с содержимым «test», выполните следующие действия:

 var x = <?=$myvar?>; 

Это приведет к:

 var x = test; 

Это недопустимо (если test является переменной), потому что вам нужны цитаты вокруг него, чтобы сделать его строкой:

 var x = "<?=$myvar?>"; 

В результате это приводит к действию:

 var x = "test"; 

Причина, по которой он работает с другой переменной, заключается в том, что вы эхом повторяете идентификатор, который является целым числом:

 var x = <?=$myid?>; 

Перевел бы:

 var x = 5; 

Это совершенно верно.

Все это говорит о том, что вы должны поместить все материалы, которые хотите отправить в Javascript в массиве, и вызвать json_encode на нем, чтобы легко и безопасно распечатать значения. Без этого вам придется беспокоиться о том, как избежать кавычек в строке и т. Д.