2016-07-26 60 views
-1

我要取代这个:联JavaScript和春天开机,Thymeleaf,蒲公英

<body onload=" 
     $('input[name=startDate]').focus(); 
     $(function() { 
     $('#startDate').datepicker({ dateFormat: 'mm/dd/yy'}); 
     }); 
"> 

与内嵌的JavaScript - 是这样的:

<script th:inline="javascript"> 
/*<![CDATA[*/ 
    $(document).ready(function() { 
     $('input[name=startDate]').focus(); 
     $('#startDate').datepicker({ dateFormat: 'mm/dd/yy' }); 
    }); 
/*]]>*/ 
</script> 

但是,这是行不通的。错误是:ReferenceError: $ is not defined

任何人都知道如何得到这个工作?

+0

你在这段代码执行之前调用过'jquery lib'文件吗? –

回答

1

请加:

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> 

脚本块之前。

$是jQuery的一部分。您需要添加它的库/实现文件才能使用它。

2

你有没有这样做:

控制器类:

@Grab("org.webjars:jquery:2.1.1") 
@Grab("thymeleaf-spring4") 
@Controller 
class MyApp{...} 

你的HTML(tymeleaf)

<head> 
      <title>blablabla</title> 
      <script src="webjars/jquery/2.1.1/jquery.min.js"></script> 

<script th:inline="javascript"> 
/*<![CDATA[*/ 
    $(document).ready(function() { 
     $('input[name=startDate]').focus(); 
     $('#startDate').datepicker({ dateFormat: 'mm/dd/yy' }); 
    }); 
/*]]>*/ 
</script> 
      </head> 
+0

这几乎是正确的答案,我在自己的回复中加入了Spring配置类。谢谢。 – ishmeister

2

得益于提示上面我能解决这个问题,如下所示:

添加相应的依赖关系:

<dependency> 
     <groupId>org.webjars</groupId> 
     <artifactId>jquery</artifactId> 
     <version>2.2.4</version> 
     <scope>compile</scope> 
</dependency> 

添加配置钩:

import org.springframework.context.annotation.Configuration; 
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; 
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; 

@Configuration 
public class WebConfig extends WebMvcConfigurerAdapter { 

    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     if (!registry.hasMappingForPattern("/webjars/**")) { 
      registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); 
     } 
    } 
} 

最后,导入正确的脚本:

<script th:src="@{/webjars/jquery/2.2.4/jquery.min.js}"></script> 

jQuery的准备功能,然后在内嵌的JavaScript调用正确。