私は以下のHTMLとJavascriptコードを持っています。私はテーブルの行を複製し、各入力要素のIDの名前を変更しようとしています。スクリプトをデバッグしている間に、行がクローンされてテーブルに追加されているのを確認できますが、スクリプトの最後にHTMLマークアップから消えます。私はjquery-3.1.1.min.js
を使用しています。誰かが私が間違ったことを教えてくれますか?jqueryを使用してテーブルに行を追加します
<form name="input" action="Request.jsp" method="get">
<TABLE id="flightData">
<TR>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>GDS</TD>
<TD><input id="code" type="text" name="Code"
value="<%=Code%>" /></TD>
<TD>CountryCode</TD>
<TD><input id="countrycode" type="text" name="CountryCode"
value="<%=countryCode%>" /></TD>
<TD>Carrier Code</TD>
<TD><input id="carriercode" type="text" name="CarrierCode"
value="<%=carrierCode%>" /></TD>
<TD>Flight Number</TD>
<TD><input id="flightnumber" type="text" name="FlightNumber"
value="<%=flightNumber%>" /></TD>
<TD>Departure Date</TD>
<TD><input id="departuredate" type="text" name="DepartureDate"
value="<%=departureDate%>" /></TD>
<TD>Departure Port</TD>
<TD><input id="departureport" type="text" name="DeparturePort"
value="<%=departurePort%>" /></TD>
<TD>Arrival Port</TD>
<TD><input id="arrivalport" type="text" name="ArrivalPort"
value="<%=arrivalPort%>" /></TD>
</TABLE>
<P>
<button id="newRowButton">Add Flight</button>
<INPUT type="button" value="Delete Row" onclick="deleteRow('dataTable')" />
</P>
<script type="text/javascript">
$("#newRowButton").click(function() {
$('#flightData tbody').append($('#flightData tbody tr:last').clone());
$('#flightData tr').each(function(i) {
if (i === 1)
return;
var textinput = $(this).find('input');
textinput.eq(0).attr('id', 'code' + i);
textinput.eq(0).attr('id', 'countrycode' + i);
textinput.eq(0).attr('id', 'carriercode' + i);
textinput.eq(0).attr('id', 'flightnumber' + i);
textinput.eq(0).attr('id', 'departuredate' + i);
textinput.eq(0).attr('id', 'departureport' + i);
textinput.eq(0).attr('id', 'arrivalport' + i);
});
});
</script>
</form>