选项按钮上的 JavaScript 在 cakephp3 中不起作用

标签 javascript jquery cakephp cakephp-3.0

我无法让 JavaScript 代码在 cakephp3 中工作。最初我想通过单击选项来隐藏/显示 div 部分。除了这个 js 函数之外,该项目运行良好。我在文件 (webroot/js/myjs.js) 中有 js 函数,并在布局中调用该文件,如下所示。我单击选项按钮来调用此函数来测试它,但没有得到任何输出。我不知道我还需要做什么,因为我被困住了。

    http://book.cakephp.org/3.0/en/views/helpers/html.html#creating-inline-javascript-blocks

<?php 

  $options=array(0=>'Student',1=>'Tutor');
    echo $this->Form->input('cancelledBy',
           [ 'label'=>false,  'style'=>"margin:10px;",  'type' => 'radio',   'options' => $options,
                        'onclick'=>'hide()', 'value'=>0]);

                ?>

      <div id="cancel" style="display: none;">Hello hidden content</div>


//myjs.js
  <script type="text/javascript">
function hide()
{
 alert('asd');



    var e = document.getElementById("cancel");

      if(e.style.display == 'block')
          e.style.display = 'none';
       else
          e.style.display = 'block';



}
</script> 


//layoutfile (which appears when i see the page source with the javascript function
 <?php echo $this->Html->script(['myjs.js']); ?>

最佳答案

在您的 View 中使用此$this->Html->script('myjs', ['block' => 'scriptBottom']); 并添加此 <?= $this->fetch('scriptBottom') ?>到您之前的布局 </body>

编辑

删除'type' => 'radio'并将onclick事件更改为onchange

$options = array(0=>'Student',1=>'Tutor');

echo $this->Form->input('cancelledBy', [
    'label' => false,  
    'style' => "margin:10px;",  
    'options' => $options,
    'onchange' => 'hide()',
]);

关于选项按钮上的 JavaScript 在 cakephp3 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41370973/

相关文章:

javascript - PHP 和 CKEditor 包含的图像未显示在电子邮件中

c# - 在 asp.net 中将值从一个页面发送到另一个页面时,字符会被 trim

javascript - Ajax jquery mysqli 更新

javascript - 为什么 'active' 类没有分配给内容列表项?

mysql - Cakephp 查找或条件不工作

javascript - 使用 jquery helper 将 $(this) 传递到 CakePHP 样式的脚本中

javascript - 动画:使图像从一侧到另一侧渐变出现(不透明度)(所谓的 "soft-wipe"效果)

Javascript 函数不适用于单选按钮列表

jquery - 如何自动右/左浮动

php - 我的第一个 CakePHP 项目中未找到列错误