Đây là bài đăng đầu tiên của tôi trên trang web này để hy vọng bạn sẽ dễ dàng với tôi. Tôi đang cố gắng tạo một biểu mẫu HTML/PHP và sử dụng một đoạn mã Javascript nhỏ để thêm các hàng bổ sung vào một bảng khi một nút được nhấp và tăng ID cho hai trường.Javascript Thêm hàng vào bảng HTML & ID tăng dần
Nút hoạt động trong việc thêm các hàng tuy nhiên dường như không tăng ID, chỉ cần sử dụng cùng một ID với hàng trước đó. Hy vọng rằng ai đó có thể giúp đỡ?
$(window).load(function(){
var table = $('#productanddates')[0];
var newIDSuffix = 2;
$(table).delegate('#button2', 'click', function() {
var thisRow = $(this).closest('tr')[0];
var cloned = $(thisRow).clone();
cloned.find('input, select').each(function() {
var id = $(this).attr('id');
id = id.substring(0, id.length - 1) + newIDSuffix;
$(this).attr('id', id);
});
cloned.insertAfter(thisRow).find('input:date').val('');
newIDSuffix++;
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="blue-bar ta-l">
<div class="container">
<h1>Submit Your Insurance Renewal Date(s)</h1>
</div>
</div>
<div class="grey-bar">
<div class="container">
<div class="rounded-box">
<div>
<label for="name">Name</label>
<input type="text" id="name" name="name" autocomplete="off" required />
</div>
<div>
<label for="name">Renewal Dates</label>
</div>
<table width="100%" border="0" cellspacing="0" cellpadding="5" id="productanddates" class="border">
<tr>
<td>
<select name="insurance_type1" id="insurance_type1">
<option></option>
<option>Car</option>
<option>Home</option>
<option>Van</option>
<option>Business</option>
<option>GAP</option>
<option>Travel</option>
</select>
</td>
<td>
<input type="date" name="renewal_date1" id="renewal_date1" />
</td>
<td>
<input type="button" name="button2" id="button2" value="+" />
</td>
</tr>
</table>
<div>
<label for="telephone_number">Contact Number</label>
<input type="tel" id="telephone_number" name="telephone_number" pattern="\d{11}" autocomplete="off" required />
</div>
<div>
<label for="email">Email Address</label>
<input type="email" id="email" name="email" autocomplete="off" required />
</div>
<div>
<input name="submit" type="submit" value="Submit" class="btn">
</div>
</div>
cho html năng động như thế này nó là tốt hơn để học cách sử dụng các lớp học và DOM đi qua thay vì lo lắng về việc cần ID ở tất cả. Hiển thị mã phụ thuộc vào ID của – charlietfl
Dường như nó hoạt động trong jsFiddle - http://jsfiddle.net/g7116c49/ bằng cách thay đổi '.find ('input: date')' thành '.find ('input.date') 'và thêm' class = "date" 'vào đầu vào ngày của bạn. – Sean
Bạn đã thử đặt một khai báo 'newIDSuffix' trong JavaScript toàn cầu thay vì trong hàm' $ (cửa sổ) .load'? – yW0K5o