如何使用日期选择器从第三个文本框中的文本字段中求出天数
how to sum how many days from text fields in the 3rd textbox using datepicker
我有以下代码:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Sum Of Total Days</title>
<link rel="stylesheet" href="jquery-ui.css" />
<script src="jquery-1.9.1.js"></script>
<script src="jquery-ui.js"></script>
<script>
$(function sum() {
datepickerln1 = $( "#datepickerln1" ).datepicker().value;
datepickerln2 = $( "#datepickerln2" ).datepicker().value;
document.getElementById('#total').value = parseFloat(datepickerln2) - parseFloat(datepickerln1) +1;
});
</script>
</head>
<body>
<p>Date 1: <input name="datepickerln1" id="datepickerln1" type="text" onblur="sum()"/></p>
<p>Date 2: <input name="datepickerln2" id="datepickerln2" type="text" onblur="sum()"/></p>
<input name="total" id ="total" type="text" readonly />
</body>
</html>
当我在Date1&日期2。
请帮助
感谢
首先让我指出代码中的错误,然后是JSFiddle。
(A) 以下是您在代码中犯的几个错误:
1) 首先将日期选择器初始化到元素。
$( "#datepickerln1" ).datepicker();
$( "#datepickerln2" ).datepicker();
2) 你不能得到像这样的值$( "#datepickerln1" ).datepicker().value;
初始化后,它应该像一样
$( "#datepickerln1" ).val();
$( "#datepickerln2" ).val();
3) document.getElementById('#total').value
,这里不需要#
。
就像
document.getElementById('total').value = 'your value';
或
$('#total').val('your value');
4) 您无法像这个一样轻松获得日期差异
parseFloat(datepickerln2) - parseFloat(datepickerln1) + 1 //WRONG
正确的方式是
Math.floor((datepickerln2.getTime() - datepickerln1.getTime()) / 86400000) //RIGHT WAY
(B) 您需要检查关于日期选择器中dateDifference的此线程
在这个线程的帮助下,我更新了你的代码
$(document).ready(function () {
var selector = function (dateStr) {
var d1 = $('#datepickerln1').datepicker('getDate');
var d2 = $('#datepickerln2').datepicker('getDate');
var diff = 0;
if (d1 && d2) {
diff = Math.floor((d2.getTime() - d1.getTime()) / 86400000); // ms per day
}
$('#total').val(diff);
}
$("#datepickerln1").datepicker();
$('#datepickerln2').datepicker();
$('#datepickerln1,#datepickerln2').change(selector)
});
检查此JSFiddle
是否提醒值并检查是否获得值?日期选择器尚未分配给jquery datepicker
。先这样做:
$(function() {
$( "#datepickerln1" ).datepicker();
$( "#datepickerln2" ).datepicker();
});
并使用document.getElementById('total').value
而不是document.getElementById('#total').value
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 当设置addFromAutocompleteOnly时,剩余文本将保留在输入字段中
- 使用jquery将输入字段转换为文本
- 如何从查询字符串中的输入字段发回文本
- 表单输入字段随着溢出的文本而增长
- 使用单个文本框向多个字段添加严格搜索
- 使用javascript提交表单并从字段/单选框/复选框/文本区域获取数据
- 使用jQuery的输入字段文本换行
- 向使用jQuery加载DOM后添加的字段添加不受限制的文本输入DatePickers
- 当用户单击按钮(在光标位置)时,在输入字段中添加一个文本字符串
- 如何根据文本长度立即显示和隐藏字段?-JQuery
- 如何使文本、数字和日期html输入字段以一致的方式支持Ctrl+Z(撤消)
- 模拟文本输入字段上的退格键
- 输入字段中的可持续文本
- 未获取文本输入字段的值
- 没有文本安全性的密码字段
- 将禁用的输出字段更改为带前缀的文本
- 为什么 react 将输入[类型=“文本”] 字段设为只读,除非我提供 onChange 回调
- 使用SAPUI5中的“文本”字段显示正确的“日期”
- Kendo,如何将MVVM文本:字段绑定到远程DataSource