ここでは、to[0] という名前の 1 つのフィールドが使用されています...しかし、実際には、クローンのために生成されているインデックス (to[1]、to[2] など) に +1 を付けて「N」回使用しています。 .. from[0] も同様です。from[0] は開始日、to[0] は終了日です。終了日が開始日より前にならないように、これら 2 つの日付を比較しています。ここでは、コードの最初の 2 つのブロックが適切に機能しています。それぞれが 1 つの行に対応しているためです。しかし、「N」行を作成しようとすると、機能しません。つまり、コードの最後のブロックが機能しません。
名前が動的に生成されるため、これらの要素を選択する方法がありません...
Jquery コードは次のとおりです。
$(document).ready(function() {
$("input[name='to[0]']").blur( function() {
if ($("input[name='to[0]']").val() != 'To' && $("input[name='from[0]']").val() != 'From') {
var a1 = $("input[name='from[0]']").val();
var b1 = $("input[name='to[0]']").val();
alert(b1);alert(a1);
if (a1 > b1) {
alert("Invalid Date Range!\nStart Date cannot be after End Date!");
}
}
});
$("input[name='to[1]']").blur( function() {
if ($("input[name='to[1]']").val() != 'To' && $("input[name='from[1]']").val() != 'From') {
var a1 = $("input[name='from[1]']").val();
var b1 = $("input[name='to[1]']").val();
alert(b1);alert(a1);
if (a1 > b1) {
alert("Invalid Date Range!\nStart Date cannot be after End Date!");
}
}
});
$("td.date").click( function() {
var n = $('#table2 tbody>tr').length - 2;
var r=2;
$("td.date>input:first").next().blur( function() {
while(r<n) {
if ($("input[name='to[r]']").val() != 'To' && $("input[name='from[r]']").val() != 'From') {
var a1 = $("input[name='from[r]']").val();
var b1 = $("input[name='to[r]']").val();
alert(b1);alert(a1);
if (a1 > b1) {
alert("Invalid Date Range!\nStart Date cannot be after End Date!");
}
}
r++;
}
});
});
HTMLは..
<td width="15%" align="center" >
<input class="f" style="width:70px" type="text" size="12" name="from[0]" value="From" readonly="readonly" />
<a class="datepicker" href="#"><img alt="Pick a date" src="js/date.gif" border="0" width="17" height="16" /></a>
</td>
<td width="15%" align="center" >
<input style="width:70px" class="f" type="text" size="12" name="to[0]" value="To" readonly="readonly" />
<a class="datepicker" href="#"><img alt="Pick a date" src="js/date.gif" border="0" width="17" height="16" /></a>
</td>
<td width="15%" align="center" class="date" >
<input style="width:70px" type="text" size="12" name="from[1]" value="From" readonly="readonly" />
<a class="datepicker" href="#"><img alt="Pick a date" src="js/date.gif" border="0" width="17" height="16" /></a>
</td>
<td width="15%" align="center" class="date" >
<input style="width:70px" class="f" type="text" size="12" name="to[1]" value="To" readonly="readonly" />
<a class="datepicker" href="#"><img alt="Pick a date" src="js/date.gif" border="0" width="17" height="16" /></a>
</td>
from[1] および to[1] の td を含む最後の行が複製され、その後、最後の行が複製されます...