数组中的日期条目不会打印
Date entries in the array are not printed
我刚刚创建了一个动态HTML表单,其中两个字段的类型为date。这两个字段将它们的数据发布到两个数组中。我有两个问题:
a) 当我按下按钮时,阵列数据不会打印出来。
b) 由于我创建了数组来存储数据,所以我的动态表单似乎不能完全发挥作用。它只在我按下表单上的第一个"保存条目"按钮时产生新的字段。它也不会删除任何字段。
我的代码是:
$(document).ready(function () {
$('#btnAdd').click(function () {
var $address = $('#address');
var num = $('.clonedAddress').length;
var newNum = new Number(num + 1);
var newElem = $address.clone().attr('id', 'address' + newNum).addClass('clonedAddress');
newElem.children('div').each(function (i) {
this.id = 'input' + (newNum * 10 + i);
});
newElem.find('input').each(function () {
this.id = this.id + newNum;
this.name = this.name + newNum;
});
if (num > 0) {
$('.clonedAddress:last').after(newElem);
} else {
$address.after(newElem);
}
$('#btnDel').removeAttr('disabled');
});
$('#btnDel').click(function () {
$('.clonedAddress:last').remove();
$('#btnAdd').removeAttr('disabled');
if ($('.clonedAddress').length == 0) {
$('#btnDel').attr('disabled', 'disabled');
}
});
$('#btnDel').attr('disabled', 'disabled');
});
$(function () {
$("#datepicker1").datepicker({
dateFormat: "yy-mm-dd"
}).datepicker("setDate", "0");
});
var startDateArray = new Array();
var endDateArray = new Array();
function intertDates() {
var inputs = document.getElementsById('datepicker1').value;
var inputsend = document.getElementsById('datepicker2').value;
startDateArray[startDateArray.length] = inputs;
endDateArray[endDateArray.length] = inputsend;
window.alert("Entries added!");
}
function show() {
var content = "<b>Elements of the arrays:</b><br>";
for (var i = 0; i < startDateArray.length; i++) {
content += startDateArray[i] + "<br>";
}
for (var i = 0; i < endDateArray.length; i++) {
content += endDateArray[i] + "<br>";
}
}
JSFIDDLE
有什么想法吗?谢谢
在您的按钮上,您多次使用元素ID,这是错误的,每个元素的ID必须是唯一的,例如:
<button id="btnAdd" onclick="insertDates()">Save entry</button>
</div>
</div>
<button id="btnAdd">Add Address</button>
<button id="btnDel">Delete Address</button>
jQuery将仅在找到的第一个#btAdd上附加$('#btnAdd')
事件。您需要使用类将类似的事件附加到多个元素,除此之外,只需将所有.click
处理程序更改为.on('click',
,因为on()
指令将函数附加到当前和未来的元素,而.click()
仅在加载页面时对现有元素执行此操作。
例如:
<button id="btnDel">Delete Address</button>
$('#btnDel').click(function () {
[...]
});
成为:
<button class="btnDel">Delete Address</button>
$('.btnDel').on('click', function () {
[...]
});
试试这个:我知道它不是答案,但使用id获取元素值是错误的
更换
var inputs = document.getElementsById('datepicker1').value;
var inputsend = document.getElementsById('datepicker2').value;
使用
var inputs = document.getElementById('datepicker1').value;
var inputsend = document.getElementById('datepicker2').value;
您正在使用jQuery
,因此我强烈建议您使用jQuery selector
,
var inputs = $('#datepicker1').val();
var inputsend = $('#datepicker2').val();
其中CCD_ 8用于CCD_。
相关文章:
- 日期没有打印出来:为什么会这样
- 如何将选定的日期月份和年份打印到不同的DIV标签中
- 循环访问日期并打印格式化日期
- 如何使用jquery打印日期和时间
- 计算特定日期's将日期更改为另一个日期,并打印它们的差异
- X 轴和 Y 轴打印日期
- jQuery 日期选择器 - 将日期存储在变量中并打印出来
- 数组中的日期条目不会打印
- 从Jquery日历中选择日期,并通过数据库进行检查,并打印该日期的事件
- 当请求php脚本生成的图像时,如何使用javascript/其他方法以某种格式打印日期
- 将日期对象打印为对象,而不是覆盖的tostring方法
- 打印的日期已过期
- 如何使用Javascript AngularJS打印一个月的所有日期
- 如何打印单元格内从1到totalDays的所有日期
- 如何删除页面标题,url,日期时间和页码使用javascript打印
- 点击后打印日期
- 在javascript中打印日期,如'Y-m-d H:i: "
- 验证然后打印日期输入
- 输入框中打印日期的格式
- JavaScript日期对象总是在美国/纽约时区打印