下面的代码在http://jsfiddle.net/saQTw/2/
上运行正常由于某种原因它不能在我的本地机器上工作,我不知道我在哪里犯了错误。需要专家的眼睛来看看我在这段代码中做错了什么。
我从stackoverflow获得的代码支持使用日期填充选择列表 但我不能让它在我的本地机器上工作。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
</script>
<link href="css.css" rel="stylesheet" type="text/css" />
<script>
function pad(n){return n<10 ? '0'+n : n}
var date = new Date();
var selectElement = $('<select>'), optionElement;
for (var count =0; count < 90; count++){
formattedDate = pad(date.getUTCDate()) + '-' + pad(date.getUTCMonth()+1) + '-' + date.getUTCFullYear();
optionElement = $('<option>')
optionElement.attr('value',formattedDate);
optionElement.text(formattedDate);
selectElement.append(optionElement);
date.setDate(date.getDate() + 1);
}
$('#ddDate').append(selectElement);
</script>
</head>
<body>
<div id="ddDate"> </div>
</body>
</html>
我试过jQuery 1.6版也不行吗
解决上述问题:
<script>
$(function(){
function pad(n){return n<10 ? '0'+n : n}
var date = new Date();
var selectElement = $('<select>'), optionElement;
for (var count =0; count < 90; count++){
formattedDate = pad(date.getUTCDate()) + '-' + pad(date.getUTCMonth()+1) + '-' + date.getUTCFullYear();
optionElement = $('<option>')
optionElement.attr('value',formattedDate);
optionElement.text(formattedDate);
selectElement.append(optionElement);
date.setDate(date.getDate() + 1);
}
$('#ddDate').append(selectElement);
});
</script>
答案 0 :(得分:0)
尝试将jquery包装在document.ready()
中<script>
jQuery(document).ready(function) {
答案 1 :(得分:0)
您正在访问#ddDate元素,然后才能存在。因此,要么将javascript部分移动到正文下面,要么将代码包装到$(document).ready(function() {...})
答案 2 :(得分:0)
在JSFiddle中,您使用onload
事件来运行pad(n)
。你需要在这里做同样的事情
将<body>
代码修改为<body onload="pad(2)">