我克隆了一個包含日期選擇器的div。我有固定的日期選擇器使用克隆時:年齡不在該字段中輸出
// Re-initialize the datepicker
$(".datepicker").each(function() {
// Remove the class
$(this).removeAttr('id').removeClass('hasDatepicker');
// Re-initialize the datepicker
$(this).datepicker({
dateFormat: 'yy-mm-dd',
changeMonth: true,
changeYear: true,
yearRange: "-150:+0"
});
});
上日期選擇器的每次改變,它計算的年齡和輸出值的年齡場。但是,重複不能將該字段的值改變爲計算的年齡。我無法捕捉日期選擇器ID,因爲每次它被克隆時,ID的值都是隨機的,所以我使用了一個類。
for (var counts = 1; counts <= 20; counts++) {
(function(counts) {
$(".datepicker").each(function() {
$(".co_birthdate" + counts).on("change", function() {
var today = new Date();
var birthDate = new Date($(this).val());
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
age--;
}
if (age <= 0) {
alert("Age value is invalid.");
} else {
// Display age
$("#co_age" + counts).val(age);
}
});
});
})(counts);
}
下面是HTML:
<div class="col-sm-4">
<div class="form-group custom-addon-holder">
<label for="bdate">Birthdate:</label>
<input type="text" class="form-control datepicker co_birthdate" id='co_birthdate' placeholder="YYYY/MM/DD" name="co-buyer1[co_birthdate]" title="Birthdate" />
<span class="input-group-addon custom-addon"><i class="fa fa-calendar"></i>
</span>
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<label for="bdate">Age:</label>
<input type="text" class="form-control required co_age" name="co-buyer1[co_age]" id='co_age' title="Age" readonly />
</div>
</div>
而問題.....? – Jamiec 2015-03-25 09:19:59
創建一個JSFiddle:http://jsfiddle.net/ – 2015-03-25 09:20:45