我正在使用硬编码日期值在select中开发简单的html控件,并且从这个值我将它分成两部分并从返回值中我希望将日期和月份视为警告消息,但它显示为NaNNaN的消息在警报中而不是返回我的格式化消息。
<p>Click the button to display todays day of the month.</p>
<select id="account_type" name="account_type">
<option value="1">Thursday May 29 at 2:00 PM ET</option>
<option value="2">Tuesday May 22 at 10:00 AM ET</option>
<option value="2">Friday May 22 at 10:00 AM ET</option>
<option value="2">Monday May 22 at 10:00 AM ET</option>
<option value="2">Wednesday May 22 at 10:00 AM ET</option>
<option value="2">Saturday May 22 at 10:00 AM ET</option>
</select>
<input type="image" id="submit" alt="Submit">
$(document).ready(function() {
$("#submit").click(function() {
var str = $('#account_type option:selected').text();
var spl = str.split("at");
// alert("str : " + spl[0]);
var d = new Date(spl[0]);
var d1 = d.getDay();
var d11 = parseInt(d1);
var d2 = d.getMonth();
var d12 = parseInt(d2);
var d3 = d.getDate();
var d13 = parseInt(d3);
var fulldate = d11 + "" + d12;
alert("Detail is : " + fulldate);
});
});
答案 0 :(得分:1)
您还在星期六(星期五)的日期使用“at”此关键字拆分文本 使用其他一些字符或单词来分割。我只是修改你的代码试试吧!
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#submit").click(function() {
var str = $('#account_type option:selected').text();
var spl = str.split(",");
// alert("str : "+spl[0]);
var d = new Date(spl[0]);
var d1 = d.getDay();
var d11 = parseInt(d1);
var d2 = d.getMonth();
var d12 = parseInt(d2);
var d3 = d.getDate();
var d13 = parseInt(d3);
var fulldate = d11 + " " + d12;
alert("Detail is : " + fulldate);
});
});
</script>
</head>
<body>
<p>Click the button to display todays day of the month.</p>
<select id="account_type" name="account_type">
<option value="1">Thursday May 29 , 2:00 PM ET</option>
<option value="2">Tuesday May 22 , 10:00 AM ET</option>
<option value="2">Friday May 22 , 10:00 AM ET</option>
<option value="2">Monday May 22 , 10:00 AM ET</option>
<option value="2">Wednesday May 22 , 10:00 AM ET</option>
<option value="2">Saturday May 22 , 10:00 AM ET</option>
</select>
<input type="image" id="submit" alt="Submit">
</body>
</html>
答案 1 :(得分:0)
你无法以任何方式实例化date
对象,尽管你的代码可以在chrome中使用,因为它更灵活但不在firefox中。有一些特定的格式,你应该使用它们。
了解更多here。
您需要在约会中提及一年,然后才能使用。
请尝试以下代码:
<option value="1">Thursday May 29 2016 at 2:00 PM ET</option>
<option value="2">Tuesday May 22 2016 at 10:00 AM ET</option>
<option value="2">Friday May 22 2016 at 10:00 AM ET</option>
<option value="2">Monday May 22 2016 at 10:00 AM ET</option>
<option value="2">Wednesday May 22 2016 at 10:00 AM ET</option>
<option value="2">Saturday May 22 2016 at 10:00 AM ET</option>
我刚刚在每个2016
添加了option
。
答案 2 :(得分:0)
您的浏览器似乎正在将日期字符串解析为InvaliDate
。
一种解决方案可能是手动解析字符串到目前为止
$(document).ready(function() {
var months = {
Jan: 0,
Feb: 1,
Mar: 2,
Apr: 3,
May: 4
},
days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
$("#submit").click(function() {
var str = $('#account_type option:selected').text();
var spl = str.split(" ");
//alert("str : "+spl[0]);
var d = new Date();
d.setMonth(months[spl[1]]);
d.setDate(+spl[2]);
var d0 = spl[0];
var d1 = days[d.getDay()];
var d2 = d.getMonth();
var d3 = d.getDate();
var fulldate = d0 + '-' + d1 + "-" + d2 + '-' + d3;
alert("Detail is : " + fulldate);
});
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Click the button to display todays day of the month.</p>
<select id="account_type" name="account_type">
<option value="1">Thursday May 29 at 2:00 PM ET</option>
<option value="2">Tuesday May 22 at 10:00 AM ET</option>
<option value="2">Friday May 22 at 10:00 AM ET</option>
<option value="2">Monday May 22 at 10:00 AM ET</option>
<option value="2">Wednesday May 22 at 10:00 AM ET</option>
<option value="2">Saturday May 21 at 10:00 AM ET</option>
</select>
<input type="image" id="submit" alt="Submit">
&#13;