- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的要求是,我有两个日历日期选择器控件。 FromDate
和 ToDate
。我想要的是,每当用户在 FromDate
中添加日期,然后在 ToDate
中添加日期。 ToDate 不应小于 FromDate
。这里还有一件事。一行之后,我的日历控件将在单击“添加类”时动态生成。请参阅我下面的 html
<tr id="vendorlisttr1">
<td>
<div class="row noPadding vendorForm">
<div class="vendorDaterow">
<div class="vendorName" id="dvVendorNameData1">
<label>SP Vender Name</label><span><input type="text" value="" name="nmVendorData" id="txtVendorName1" /></span>
</div>
<div class="vendorFromDate">
<label>From Date</label><span class="datepicker"><input type="text" value="" name="spFromDate" id="spFromDate1" /><i class="fa fa-calendar" aria-hidden="true"></i></span>
</div>
<div class="vendorToDate">
<label>To Date</label><span class="datepicker"><input type="text" value="" name="spToDate" id="spToDate1" /><i class="fa fa-calendar" aria-hidden="true"></i></span>
</div>
</div>
<div class="add">
<i class="fa fa-plus" aria-hidden="true"></i>
</div>
</div>
</td>
</tr>
下面是我尝试验证的日期选择器代码,但它不起作用。
function addVendorRow() {
var numItems = $('.vendorName').length;
if (numItems != 6) {
var tr2 = $("#vendorlisttr" + (numItems - 1) + "");
var tr = "<tr id='vendorlisttr" + numItems + "'><td><div class='row noPadding vendorForm'><div class='vendorDaterow'><div class='vendorName' id='dvVendorNameData" + numItems + "'><label>SP Vender Name</label><span><input type='text' value='' name='nmVendorData" + "' id='txtVendorName" + numItems + "'/></span></div><div class='vendorFromDate'><label>From Date</label><span class='datepicker'><input type='text' value='' name='spFromDate" + "' id='spFromDate" + numItems + "' /><i class='fa fa-calendar' aria-hidden='true'></i></span></div><div class='vendorToDate'><label>To Date</label><span class='datepicker'><input type='text' value='' name='spToDate" + "' id='spToDate" + numItems + "' /><i class='fa fa-calendar' aria-hidden='true'></i></span></div><div class='minus'><i class='fa fa-minus' aria-hidden='true'></i></div></div></td></tr>"
$(tr).insertAfter(tr2);
$('#txtVendorName' + numItems).focus().autocomplete(autocompleteOptions);
$('#spFromDate' + numItems).datepicker({
dateFormat: 'dd/mm/yy',
numberOfMonths: 2,
onSelect: function (selected) {
var dt = new Date(selected);
dt.setDate(dt.getDate() + 1);
$('#spToDate' + numItems).datepicker("option", "minDate", dt);
}
});
$('#spToDate' + numItems).datepicker({
dateFormat: 'dd/mm/yy',
numberOfMonths: 2,
onSelect: function (selected) {
var dt = new Date(selected);
dt.setDate(dt.getDate() - 1);
$("#txtFrom").datepicker("option", "maxDate", dt);
}
});
} else {
jAlert(ValidationMessageConfig.MaxVendor, ValidationMessageConfig.Title);
}
}
请帮我验证。
更新
引用HERE
最佳答案
默认情况下,您用于日期选择器的日期格式无法使用 javascript 进行解析(dd/mm/yyyy 将返回无效日期,因为它不是有效的 ISO 格式)。请参阅下面的代码片段,了解如何实现您想要的目标
$(document).ready(function(){
setDatepickers(0)
$(".add").click(function(){
addVendorRow()
})
})
function setDatepickers(numItems){
$('#spFromDate' + numItems).datepicker({
dateFormat: 'dd/mm/yy',
numberOfMonths: 2,
onSelect: function (selected) {
var parsedDate = selected.split('/')
var dt = new Date();
dt.setDate(parsedDate[0])
dt.setMonth(parseInt(parsedDate[1])-1)
dt.setYear(parsedDate[2])
dt.setDate(dt.getDate() + 1);
var newMinDate = dt.getDate()+"/"+(dt.getMonth()+1)+"/"+dt.getFullYear();
$('#spToDate' + numItems).datepicker("option", "minDate", newMinDate);
}
});
$('#spToDate' + numItems).datepicker({
dateFormat: 'dd/mm/yy',
numberOfMonths: 2,
onSelect: function (selected) {
var parsedDate = selected.split('/')
var dt = new Date();
dt.setDate(parsedDate[0])
dt.setMonth(parseInt(parsedDate[1])-1)
dt.setYear(parsedDate[2])
dt.setDate(dt.getDate() - 1);
var newMaxDate = dt.getDate()+"/"+(dt.getMonth()+1)+"/"+dt.getFullYear();
$('#spFromDate' + numItems).datepicker("option", "maxDate", newMaxDate);
}
});
}
function addVendorRow() {
var numItems = $('.vendorName').length;
if (numItems != 6) {
var tr2 = $("#vendorlisttr" + (numItems - 1) + "");
var tr = "<tr id='vendorlisttr" + numItems + "'><td><div class='row noPadding vendorForm'><div class='vendorDaterow'><div class='vendorName' id='dvVendorNameData" + numItems + "'><label>SP Vender Name</label><span><input type='text' value='' name='nmVendorData" + "' id='txtVendorName" + numItems + "'/></span></div><div class='vendorFromDate'><label>From Date</label><span class='datepicker'><input type='text' value='' name='spFromDate" + "' id='spFromDate" + numItems + "' /><i class='fa fa-calendar' aria-hidden='true'></i></span></div><div class='vendorToDate'><label>To Date</label><span class='datepicker'><input type='text' value='' name='spToDate" + "' id='spToDate" + numItems + "' /><i class='fa fa-calendar' aria-hidden='true'></i></span></div><div class='minus'><i class='fa fa-minus' aria-hidden='true'></i></div></div></td></tr>"
$(tr).insertAfter(tr2);
//$('#txtVendorName' + numItems).focus().autocomplete(autocompleteOptions);
setDatepickers(numItems)
} else {
jAlert(ValidationMessageConfig.MaxVendor, ValidationMessageConfig.Title);
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/black-tie/jquery-ui.min.css" rel="stylesheet"/>
<table>
<tr id="vendorlisttr0">
<td>
<div class="row noPadding vendorForm">
<div class="vendorDaterow">
<div class="vendorName" id="dvVendorNameData0">
<label>SP Vender Name</label><span><input type="text" value="" name="nmVendorData" id="txtVendorName1" /></span>
</div>
<div class="vendorFromDate">
<label>From Date</label><span class="datepicker"><input type="text" value="" name="spFromDate" id="spFromDate0" /><i class="fa fa-calendar" aria-hidden="true"></i></span>
</div>
<div class="vendorToDate">
<label>To Date</label><span class="datepicker"><input type="text" value="" name="spToDate" id="spToDate0" /><i class="fa fa-calendar" aria-hidden="true"></i></span>
</div>
</div>
<div class="add">
<i class="fa fa-plus" aria-hidden="true">+ add</i>
</div>
</div>
</td>
</tr>
</table>
关于javascript - FromDate 和 ToDate 的验证不适用于 jquery 中动态创建的日期选择器控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47807211/
我遇到过以下查询,但不确定它们之间是否有任何区别, select * from table where date between fromdate and todate V/S select * fr
我正在使用 Pig 脚本,尝试使用 ToDate() 将字符串转换为日期时间对象。这是我在 Fri Nov 01 12:30:19 EDT 2013 处理的示例字符串 当我尝试使用 ToDate(us
我以某种方式尝试获取美国/纽约的时区(我的本地时间距美国东部标准时间 -1 小时)。但是当我使用时我总是得到相同的时间 moment(new Date()).tz("America\New_York"
今天我在代码中发现了一个非常神秘的错误。我使用 JodaTime 库有一段时间了,从那以后它一直保持一致。 DateTime dateTime = DateHelper.formatDateTime(
我正在使用 momentjs 并使用 convertedDate = moment().utcOffset(timezone).format() 将日期转换为不同的时区。这很好用,但它是一个字符串,我
我正在使用 JODA 格式化日期类型:2012-01-05T08:00:00.000Z(日期为 2012 年 1 月 5 日)并尝试将其转换为 Java 日期。 以下是我现阶段采取的步骤: 使用 Da
我使用 momentjs 解析日期字符串并将其转换为原生 JavaScript 日期: let dateString = '1980-04-06'; console.log(moment().utcO
我开始在 Angular/Typescript 项目中使用 momentJs。 (包括以防它以任何方式相关,尽管我非常怀疑) 在我调用的模块的 run 方法中 moment.locale(window
我正在尝试将字符串转换为 hadoop pig 中的日期时间对象。但是 Grunt 给我一个奇怪的错误信息:就像它不能选择正确的“ToDate”函数。它要求“显式类型转换”,但我不知道该怎么做。任何的
我正在使用 moment 2.16.0 并且想要每月的开始日期。 toDate() 和 format() 方法有不同的结果。这是jsfiddle . 代码:- var time=moment().su
我有一个 firebase 项目,运行 firebase 函数时收到以下错误日志,下面是错误日志和代码。错误是无法读取未定义的属性“toDate”,将admin.firestore.Timestamp
我的输入中有日期时间数据,想从 Pig 正确加载它。我用谷歌搜索并了解到建议加载为 chararray,然后使用 ToDate 函数转换为日期时间。但是,相同的脚本适用于一个输入,但不适用于具有相同数
我希望有人能在这方面帮助我...... 我有这个功能,它按预期工作。它检查闰年并相应地花费 365 或 366 天。 问题:我不想检查闰年,而是想检查 fromdate 和 todate,如果这些日期
我有下表: PriceId PriceType FromDate ToDate Price ElementId 1 F 2014-01-01 N
我有一个 MySQL 表,其中有两列 Fromdate 和 Todate。当我在 MySQL 中执行存储过程时,我想将上表中的 fromdate 和 todate 更新为下一个日期。 例如 @From
我有一个要求,我需要两个日期选择器来输入起始日期和截止日期。截止日期应该大于或等于起始日期(选择起始日期后,所有以前的日期都应该在第二个 Datepiker 中禁用)。也from date 和 tod
我有一个客户预订表,其中有多个客户,一个客户可以有多个订单,因此我必须从该表中找到哪个客户的当前或事件订单。有两列“起始日期”和“截止日期”。我想要跟踪活跃客户的订单,并希望回答活跃客户订单的计数。
我正在尝试使用 Joda-Time 从一个时区转换为另一个时区. final DateTimeZone fromTimeZone = DateTimeZone.forID("America/Los_A
我想在选择 FromDate 和 ToDate 时启用提交按钮。 在我的案例中,所有表单都已填满以启用提交按钮。 $('#myform > input').on('input', function(
我正在尝试获取存储在 Firebase Firestore 集合中的日期对象,我已将其作为数据库链接到我正在处理的应用程序。我收到最奇怪的错误,这取决于下面的代码 - import React fro
我是一名优秀的程序员,十分优秀!