jquery datepicker无法在<h:form>

时间:2015-04-23 07:39:24

标签: javascript jquery jsp jquery-ui datepicker

我从https://jqueryui.com/datepicker/获得了datepicker代码      

源可以这样工作,但它在我的jsp内部的标签内不起作用(没有日历弹出)。如果输入文本放在h:form之外,则源可以正常工作(弹出日历)。我正在使用eclipse和jsf来开发页面     
这是代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="f"  uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h"  uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
  <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
  <script>
  $(function() {
    $( "#datepicker" ).datepicker();
  });
  </script>

<title>Insert title here</title>
</head>
<body>
<f:view>
<h:form>
<h:outputText value="Select date" />
<h:inputText id="datepicker"/>
</h:form>
</f:view>
</body>
</html>

2 个答案:

答案 0 :(得分:3)

尝试在Firebug或开发者控制台中查看datepicker的真实ID。 JSF将表单的ID添加到元素中,比如“formID:datepicker”,所以如果你执行$('#datepicker'),jquery就找不到它。

答案 1 :(得分:-1)

代码没问题但你缺少样式部分

  <link rel="stylesheet" href="/resources/demos/style.css">

你没有。在我的电脑上它可以工作但由于缺少css而没有正确设计风格。