我有以下對我的看法一個jQuery腳本代碼:複製一個日期選擇器值到另一個選擇不工作
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
<script>
$(document).ready(function() {
getTotal();
setDates();
});
$("#form1").on("input", function() {
getTotal();
CalculateDays();
setDates();
});
function getTotal(){
var totalcart = 0;
$('#form1 > table').each(function() {
$(this).find("tr").each(function(){
if(($(this).has(".inputdays").length > 0) && ($(this).has("#shoppingcart").length > 0)){
var total = $(this).find(".inputquantity").find("input").val() * $(this).find(".hotelprice").html() * $(this).find(".inputdays").find("input").val();
$(this).find("#hoteltotal").text(total);
console.log(total);
totalcart += parseInt(total);
}
else if(($(this).has("#shoppingcart").length > 0)){
var total = $(this).find(".inputquantity").find("input").val() * $(this).find(".price").html();
$(this).find("#carttotal").text(total);
totalcart += parseInt(total);
console.log(total);
}
console.log("total: " + totalcart);
});
});
$("#total").html(totalcart);
}
function CalculateDays() {
$('#form1 > table').each(function() {
$(this).find("tr").each(function() {
var oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds
var firstDate = new Date($(this).find("#datetimepicker1").find("input").val());
var secondDate = new Date($(this).find("#datetimepicker2").find("input").val());
var diffDays = Math.round(Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay)));
if ((!isNaN(diffDays)) && (firstDate.getTime() < secondDate.getTime())) {
$(this).find(".inputdays").find("input").val(diffDays)
getTotal();
}
else {
$(this).find(".inputdays").find("input").val("0");
}
});
});
}
function setDates() {
$("#datetimepicker1").datepicker({
dateFormat: 'yy-mm-dd', beforeShowDay: NotBeforeToday,
onSelect: function (dateStr) {
$("#datetimepicker2").val(dateStr);
$("#datetimepicker2").datepicker("option", { minDate: new Date(dateStr) })
}
});
$('#datetimepicker2').datepicker({
});
}
在我的html這些datepickers聲明如下:
<td id="shoppingcart">
<div id='datetimepicker1'>
<input type='date' class="form-control" />
</div>
</td>
<td id="shoppingcart">
<div id='datetimepicker2'>
<input type='date' class="form-control" />
</div>
</td>
我只想當前選擇的值datetimepicker1複製到的DateTimePicker 2,後來我想禁用所選日期之前來的日期。但是,該代碼似乎不起作用。這裏有什麼問題?
正如所看到的這張圖片上,選擇在datetimepicker1的日期時,在datetimepicker2(結賬場)的值未設置爲所選值:
我正在試圖複製函數setDates()中的datetimepicker1到datetimepicker2的值。我嘗試過所有不起作用的多種方法。難道這是因爲我需要在我的其他功能函數中聲明它?
奇怪的是,您的屏幕截圖中的日期格式爲dd-mm-yy,但代碼建議您的格式爲yy-mm-dd – pokeybit
您使用的是隨機日期選擇器? jQuery的用戶界面?一個插件? – epascarello
是的,我正在使用jQuery UI。我已經適應了我原來的帖子,包括我所有的腳本代碼。也許這些干擾我的setDays()函數? –