Я новичок в 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);
Вы не думаете о том, как это переводится, как только переменные повторяются.
Если у вас есть переменная $x
с содержимым «test», выполните следующие действия:
var x = <?=$myvar?>;
Это приведет к:
var x = test;
Это недопустимо (если test
является переменной), потому что вам нужны цитаты вокруг него, чтобы сделать его строкой:
var x = "<?=$myvar?>";
В результате это приводит к действию:
var x = "test";
Причина, по которой он работает с другой переменной, заключается в том, что вы эхом повторяете идентификатор, который является целым числом:
var x = <?=$myid?>;
Перевел бы:
var x = 5;
Это совершенно верно.
Все это говорит о том, что вы должны поместить все материалы, которые хотите отправить в Javascript в массиве, и вызвать json_encode на нем, чтобы легко и безопасно распечатать значения. Без этого вам придется беспокоиться о том, как избежать кавычек в строке и т. Д.