2

我无法让 jQuery UI Accordion 在我的一个非常简单的 CodeIgniter 视图中工作,不确定发生了什么,但我怀疑它与我链接文件的方式有关。我已经尝试了我能想到的所有可能的相对 URL 组合。

这是我的控制器,它加载我的标题视图,然后是主视图。这是有效的,因为我可以看到所有的 HTML,只是 jQuery 没有做它的事情:

控制器:

function __construct()
{
    parent::__construct();
}

public function index()
    {
      $this->load->view('header');
      $this->load->view('main');
    }
}

我的 2 个观点:

标题视图

<!doctype html>
<html lang="en">
<head>
  <title>my site</title>
  <meta charset="UTF-8" />
  <meta name="ROBOTS" content="ALL" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
  <meta name="keywords" content="<?=fuel_var('meta_keywords')?>" />
  <meta name="description" content="<?=fuel_var('meta_description')?>" />
  <!-- Base Spider CSS -->
  <link type="text/css" rel="stylesheet" href="<?php echo base_url(); ?>assets/css/sunny/jquery-ui-1.8.18.custom.css" />
  <!-- [END] -->
  <script src="<?php echo base_url(); ?>assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8" />
  <script src="<?php echo base_url(); ?>assets/js/jquery-ui-1.8.18.custom.min.js" type="text/javascript" charset="utf-8" />

  <script>
$(function() {
    $( "#accordion" ).accordion();
});
</script>      

主视图

<body>
  <div id="accordion">
    <h3><a href="#">First header</a></h3>
      <div>First content</div>
    <h3><a href="#">Second header</a></h3>
      <div>Second content</div>
  </div>
</body>
</html>

当我回显我的 base_url() 时,我得到http://www.mywebsite.com/site1/ **

我的 CSS、JS 和其他资产在站点根级别的文件夹中 + assets + js + css + images

我确保这些文件夹都是可写的,不知道它还能是什么。控制器正在正确呈现视图并且 HTML 正在显示,只是没有 jQuery 操作。

4

1 回答 1

3

看起来您在呈现的 HTML 中缺少 jquery 函数:

<script>
    $(function() {
        $( "#accordion" ).accordion();
    });
</script> 
于 2012-04-10T20:13:26.093 回答