我想在jquery中以日期、月份和年份的形式在单独的文本框中显示日期
我想更改customerRequiredDate id的所有类的文本。我正在以这种方式尝试,但它不会在不同的文本框中设置日期、月份和年份我想在jquery中以日期、月份和年份的形式在单独的文本框中显示日期,jquery,jquery-selectors,Jquery,Jquery Selectors,我想更改customerRequiredDate id的所有类的文本。我正在以这种方式尝试,但它不会在不同的文本框中设置日期、月份和年份 customerRequiredDate=calcdate(5); day=customerRequiredDate.substr(8,2); month=customerRequiredDate.substr(5,2); year=customerRequiredDate.substr(0,4); $('#customerRequiredDate >
customerRequiredDate=calcdate(5);
day=customerRequiredDate.substr(8,2);
month=customerRequiredDate.substr(5,2);
year=customerRequiredDate.substr(0,4);
$('#customerRequiredDate > .da_day').text(day);
$('#customerRequiredDate > .da_month').text(month);
$('#customerRequiredDate > .da_year').text(year);
function calcdate(leaddays) {
var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
var c = 1;
for (var i =0; i<leaddays; i++) {
var nd = new Date();
nd.setMonth(nd.getMonth());
nd.setDate(nd.getDate() + c);
var mn = nd.getMonth()+1;
var dy = nd.getDate();
var yy = nd.getFullYear();
var day = nd.getDay();
c++;
if (( day == 0) || (day == 6)) { // omit Sun and Sat
i--;
}
else {
if(dy<10) {
dy="0" +dy;
}
if(mn<10) {
mn="0" +mn;
}
var d = yy + "/" + mn+ "/" + dy;
}
}
return d;
}
customerRequiredDate=calcdate(5);
日期=客户要求日期。子日期(8,2);
月=客户需求日期。子项(5,2);
年份=CustomerRequestDate.Subsr(0,4);
$('#customerRequiredDate>.da#u day')。文本(天);
$('#customerRequiredDate>.da_month')。文本(月);
$('customerRequiredDate>.da_year')。文本(年份);
功能计算日期(提前天数){
风险值天数=[“周日”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”];
var c=1;
对于(var i=0;i我将只深入讨论直接导致您描述的问题的问题。不过,值得一提的是,您应该尽可能避免手动旋转日期计算/解析/格式化,并坚持使用内置语言功能和经过良好测试的库
第1期:
您的选择器找不到您的输入。选择器,#customerRequiredDate>.dau day
,查找类为dau day
的元素,该元素是ID为customerRequiredDate
的元素的直接子元素。您希望更改的元素不是ID为customerRequiredDate
的元素的子元素。Th有多种方法可以调整标记和选择器以找到所需的特定元素,但在我对代码的修改(如下)中,我只是将确实包含输入的td
的ID设置为customerRequiredDateInputs
,并更改JS中的选择器以使用它。(依我看,最好给你的输入元素ID并直接瞄准它们。)
第二期:
要更改输入值,需要使用.val()
,而不是.text()
修改代码:
customerRequiredDate=calcdate(5);
日期=客户要求日期。子日期(8,2);
月=客户需求日期。子项(5,2);
年份=CustomerRequestDate.Subsr(0,4);
$('#customerRequiredDateInputs>.da_day').val(天);
$('#customerRequiredDateInputs>.da_month').val(月);
$('#customerRequiredDateInputs>.da_year').val(年份);
功能计算日期(提前天数){
风险值天数=[“周日”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”];
var c=1;
对于(var i=0;i我将只深入讨论直接导致您描述的问题的问题。不过,值得一提的是,您应该尽可能避免手动旋转日期计算/解析/格式化,并坚持使用内置语言功能和经过良好测试的库
第1期:
您的选择器找不到您的输入。选择器,#customerRequiredDate>.dau day
,查找类为dau day
的元素,该元素是ID为customerRequiredDate
的元素的直接子元素。您希望更改的元素不是ID为customerRequiredDate
的元素的子元素。Th有多种方法可以调整标记和选择器以找到所需的特定元素,但在我对代码的修改(如下)中,我只是将确实包含输入的td
的ID设置为customerRequiredDateInputs
,并更改JS中的选择器以使用它。(依我看,最好给你的输入元素ID并直接瞄准它们。)
第二期:
要更改输入值,需要使用.val()
,而不是.text()
修改代码:
customerRequiredDate=calcdate(5);
日期=客户要求日期。子日期(8,2);
月=客户需求日期。子项(5,2);
年份=CustomerRequestDate.Subsr(0,4);
$('#customerRequiredDateInputs>.da_day').val(天);
$('#customerRequiredDateInputs>.da_month').val(月);
$('#customerRequiredDateInputs>.da_year').val(年份);
功能计算日期(提前天数){
风险值天数=[“周日”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”];
var c=1;
对于(var i=0;i您正在使用
选择器,该选择器指定直接子项。customerRequiredDate
没有任何子项,因此它将不起作用
对于现有的图元结构,需要类似于以下内容的内容:
$('#customerRequiredDate').next('td').find(".da_day").val(day);
$('#customerRequiredDate').next('td').find(".da_month").val(month);
$('#customerRequiredDate').next('td').find(".da_year").val(year);
我已经尽可能地简化了这一点,因为很明显(无意冒犯)您不熟悉选择器的工作方式,因此您可以参考jQuery文档,非常轻松地了解.next()
和find()
在这方面的工作方式
更高级的选择器示例如下:
$('#customerRequiredDate + td > .da_day').val(day);
$('#customerRequiredDate + td > .da_month').val(month);
$('#customerRequiredDate + td > .da_year').val(year);
+
表示以下元素,因此它获取具有指定类的元素,该类是TD的直接子元素,紧跟在#customerRequiredDate
之后
最后,由于要更改的元素是输入,因此需要使用.val()
而不是.text()
您使用的是指定直接子项的
选择器。customerRequiredDate
没有任何子项,因此无法工作
对于现有的图元结构,需要类似于以下内容的内容:
$('#customerRequiredDate').next('td').find(".da_day").val(day);
$('#customerRequiredDate').next('td').find(".da_month").val(month);
$('#customerRequiredDate').next('td').find(".da_year").val(year);
我已经尽可能地简化了这一点,因为很明显(无意冒犯)您不熟悉选择器的工作方式,因此您可以参考jQuery文档,非常轻松地了解.next()
和find()
在这方面的工作方式
更高级的选择器示例如下:
$('#customerRequiredDate + td > .da_day').val(day);
$('#customerRequiredDate + td > .da_month').val(month);
$('#customerRequiredDate + td > .da_year').val(year);
+
表示以下元素,因此它获取具有指定类的元素,该类是TD的直接子元素,紧跟在#customerRequiredDate
之后
最后,由于要更改的元素是输入,因此需要使用.val()
,而不是