0

很抱歉发布了我以前的类似帖子,但我认为我的解释不好。

实际上,我有一个在 cakephp 视图中使用的 jquery 函数

这适用于给定的视图。

我希望能够通过传递参数(我希望运行 jquery 函数的 div 的 id)将此 jquery 函数与其他视图一起使用。

我的问题是,我需要在我的函数中进行哪些更改才能使其正常工作,以及如何从我的视图中调用它(请使用语法)。

我希望该站点的专家能提供帮助,我无法在文档中找到。

这是我的jQuery函数

$(function 
    {
      // Hide the first cell for JavaScript enabled browsers.
      //$('#link-data td:first-child').hide();   

      $('#moreWrapper ').hover(function ()
      {
        $(this).toggleClass('Highlight');
      });

      // run after page loads       
      $("#more").hide();


      // Assign a click handler that grabs the URL 
      // from the first cell and redirects the user.
      $('#moreWrapper ').click(function ()
      {

        $(this).toggleClass("active").next().slideToggle(100);
        return false; //Prevent the browser jump to the link anchor

      });


     });
4

2 回答 2

0

从您的控制器操作中,将 div 的名称提供给视图:

$this->set('div', 'moreWrapper');

这样,您的视图中将有 $div 变量可用:在这种情况下为“moreWrapper”,然后将其回显到您的 jQuery 选择器中:

所以你只需将 Replace 替换#moreWrapper#<?php echo $div ?>

$('#<?php echo $div ?>').hover(function ()
{
    $(this).toggleClass('Highlight');
});
于 2013-07-16T22:57:16.163 回答
0

在控制器的操作中使用此代码:

$this->set('domElement', 'moreWrapper_or_some_other_name');

在对应的视图文件中,使用如下代码:

<script type="text/javascript">
$(document).ready(function(){

<?php if(!empty($domElement)) {?>

    // Hide the first cell for JavaScript enabled browsers.
    //$('#link-data td:first-child').hide();
    $('#<?php echo $domElement;?>').hover(function () {
        $(this).toggleClass('Highlight');
    });

    // run after page loads
    $("#more").hide();

    // Assign a click handler that grabs the URL 
    // from the first cell and redirects the user.
    $('#<?php echo $domElement;?>').click(function () {
        $(this).toggleClass("active").next().slideToggle(100);
        return false; //Prevent the browser jump to the link anchor
    });

<?php }?>

    //other javascript code implementation here......
});
</script>
于 2013-07-17T03:31:10.343 回答