2013-01-11 51 views
0

我和手風琴一個普通的HTML網頁上正常運行,但是當我試圖把它添加到Spring MVC的頁面,然後我得到的錯誤:$(...).accordion is not a functionSpring MVC的jQuery UI的「手風琴是不是一個函數」

這裏是我的WEB-INF\views\index.jsp文件的標題:

<!DOCTYPE html> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<html> 
     <head> 
    <title>Jeeni Software Ltd</title> 
    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" /> 
    <link rel="stylesheet" href="<c:url value="css/style.css"/>" type="text/css"> 
    <link rel="stylesheet" href="<c:url value="css/menu/menu_style.css"/>" type="text/css"/> 
    <script type="text/javascript" src="<c:url value="js/jquery-1.8.3.js"/>"></script> 
    <script type="text/javascript" src="<c:url value="js/jquery-ui-1.9.2.js">"></script>  
    <script type="text/javascript" src="<c:url value="js/jquery.flip.js"/>"></script> 

... 
<!-- This is the 'accordion' div --> 
<div id="accordion" style="height:800px;"> 
    <h3>Title...</h3> 
    ... 

這裏是準備功能:

$(document).ready(function() { 

    var object = $("#accordion"); 
    alert("object: " + object.accordion); 

    $("#accordion").accordion({ collapsible: true, active: 'false', autoHeight: false }); 
    $("#banner").fadeIn(1000); 

    alert("Done"); 
}); 

與此alert("object: " + object.accordion);顯示object: undefined,它炸彈了下一行。

這裏是我的servlet-context.xml文件

<mvc:resources mapping="/cv/**" location="/cv/" /> 
<mvc:resources mapping="/wow/**" location="/wow/" /> 
<mvc:resources mapping="/css/**" location="/css/" /> 
<mvc:resources mapping="/imgs/**" location="/imgs/" /> 
<mvc:resources mapping="/js/**" location="/js/" /> 
<mvc:resources mapping="/inc/**" location="/inc/" /> 
<mvc:resources mapping="/article-imgs/**" location="/article-imgs/" /> 

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> 
    <property name="prefix" value="/WEB-INF/views/"/> 
    <property name="suffix" value=".jsp"/> 
</bean> 

螢火顯示沒有問題加載任何jquery的文件。我可以在Spring mvc之外重新創建適當的行爲,所以這個問題必須與Spring/Java有關?但我找不到什麼。 Firebug報告的唯一錯誤是$(...).accordion is not a function,但一切都像jquery ui手風琴例子一樣設置。

BTW,我搜羅互聯網在過去的3小時,發現固定的錯別字類似的問題。這不是一個錯字錯誤。我找不到有關jQuery UI和Spring MVC的任何內容。

+1

「這不是一個錯字錯誤」你的設置自己不必要地在那裏... – NimChimpsky

+0

是否有可能你建立/下載了一個自定義的UI構建,並且不包括'accordion'作爲其中一個小部件? – JAAulde

回答

0

解決!

的問題是,我是通過進口一些內容:

<jsp:include page="../includes/index_page_intro_txt.jsp" /> 

這個JSP文件重新導入的jQuery。把它拿出來,一切都很好。

特別感謝@NimChimpsky,作爲一個傳聲筒,並讓我去。

任何人都不可能用上面的信息解決這個問題。所以才讓你們都知道我是如何解決它:

我開始通過刪除一切從比庫導入其他文件,準備語句和手風琴的div塊。然後它工作。所以我慢慢地把所有東西都加回去,直到它停止工作,然後調查了原因。

應該首先做到這一點 - 呃!

0
<script type="text/javascript" src="<c:url value="js/jquery-ui-1.9.2.js">"></script> 

在某些方面不正確。

  • 你能得到任何jQuery的功能工作?
  • 它只是jquery-ui函數不工作?
  • 您是否定製jquery-ui下載並且不包括手風琴?
  • 你在瀏覽器調試器中獲得404嗎?
  • 你打開一個彈出窗口,用其他東西覆蓋jQuery對象嗎?

也可能更好地使用cdn託管版本的jQuery lib文件。以下獲取最新版本並與手風琴合作。

<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js' type='text/javascript'></script> 
+0

試過所有這些。還是行不通。 '/'是不需要的,因爲'c:url'是放在那裏給你的。它使用MVC完成路徑。 –

+0

@AdamDavies你已經嘗試過與jquery-ui的cdn hsoted版本,它也無法正常工作?我不敢苟同。我的編輯顯示了一個工作版本,它獲取最新發布的jquery ui – NimChimpsky

+0

好吧,用''完成並編譯''。仍然不適合我。它可以在原始html中正常工作,而不是在Spring MVC中。你在Spring容器中運行過嗎? –