与 AJAX 在同一页面中有多个日期选择器



我是JS的初学者,但我设法粘上了这样的代码。适用于一个输入:

<input type="text" class="form-control" id="1" name="date" placeholder="MM/DD/YYYY" >

		    $('#date').datepicker({
todayBtn: true,
daysOfWeekDisabled: "0",
autoclose: true,
todayHighlight: true
	
}); 
	
	$("#date").datepicker({ dateFormat: 'dd/mm/yy' })
.on("changeDate", function(e) {
var datetime = $("#date").datepicker("getDate").toISOString();
				  var datetime2 = e.format();
$.ajax({
type: "POST",
url: 'test4.php',
data: { 
name : '<?php echo $exvar;?>',
date2 : datetime2
},
});
});

如何添加更多输入,大概是这样的:

<input type="text" class="datepick" id="date_1" />
<input type="text" class="datepick" id="date_2" />
<input type="text" class="datepick" id="date_3" />

在 JS 中要更改什么,以便日期选择器和 AJAX 都能正常工作。如何在 AJAX 中读取变量,特别是日期选择器读取的变量。非常感谢。西蒙

可以使用共享 CSS 类(代码中的"datepick"(将日期选取器和更改事件同时应用于所有文本框。然后在事件处理程序中,您可以使用this来引用触发事件的特定文本框。

附言据我所知,没有"changeDate"事件(除非您在此代码之外定义了某个自定义事件(,并且提供的e事件没有 format(( 方法。我假设您实际上想要来自日期选择器的值,所以我在您的 ajax 调用中使用它。我还将其记录到控制台,因此在此演示中可见。您也只需要调用一次"日期选择器"函数:

$(function() {
$('.datepick').datepicker({
todayBtn: true,
daysOfWeekDisabled: "0",
autoclose: true,
todayHighlight: true,
dateFormat: 'dd/mm/yy'
}).on("change", function(e) {
var datetime = $(this).datepicker("getDate").toISOString();
console.log(datetime);
$.ajax({
type: "POST",
url: 'test4.php',
data: {
name: '<?php echo $exvar;?>',
date2: datetime
},
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" rel="stylesheet" />
<input type="text" class="datepick" id="date_1" />
<input type="text" class="datepick" id="date_2" />
<input type="text" class="datepick" id="date_3" />

最新更新