Tôi đang cố tạo biểu mẫu động nơi người dùng có thể thêm các trường văn bản động dựa trên yêu cầu của họ. Đây là mã jquery của tôi ..Nút Jquery click() không hoạt động
$(document).ready(function() {
$("#add").click(function() {
var intId = $("#buildyourform div").length +1;
var fieldWrapper = $("<div class=\"fieldwrapper\" name=\"field" + intId + "\" id=\"field" + intId + "\"/>");
var fName = $("<input type=\"text\" name=\"name\" class=\"fieldname\" id=\"tb"+ intId +"_1\"/>");
var lname = $("<input type=\"text\" name=\"email\" class=\"lastname\" id=\"tb"+ intId +"_2\"/>");
var removeButton = $("<input type=\"button\" class=\"remove\" value=\"-\" />");
var addButton = $("<input type=\"button\" class=\"add\" id=\"add\" value=\"+\" />")
removeButton.click(function() {
$(this).parent().remove();
});
fieldWrapper.append(fName);
fieldWrapper.append(lname);
fieldWrapper.append(removeButton);
fieldWrapper.append(addButton);
$(this).remove();
$("#buildyourform").append(fieldWrapper);
});
});
và mã Html là ...
<fieldset id="buildyourform">
<legend>Build your own form!</legend>
<div class="fieldwrapper" name="field1" id="field1" />
<input type="text" name="name" class="fieldname" id="tb1_1" />
<input type="text" name="email" class="lastname" id="tb1_2" />
<input type="button" value="+" class="add" id="add" />
</div>
</fieldset>
<input type="submit" value="send" id="asdasd" name="submit" />
Kiểm tra JSFiddle của tôi cũng có.
Điều gì sai với tôi là khi người dùng nhấp vào nút "+" lần đầu tiên, sau đó nhấp vào chức năng hoạt động và thêm hai trường văn bản vào trường của tôi. Nhưng sau đó khi tôi nhấp vào nút "+", chức năng nhấp chuột không kích hoạt của nó. Có thể là xung đột id. Hãy giúp tôi.
'Có thể là xung đột id.' - Bạn đã tự mình giải quyết xung đột chưa? –
Bạn đang sử dụng lại id "add" trên các nút mới của mình. Giá trị cho thuộc tính "id" chỉ có thể được sử dụng một lần trên một trang. * chỉnh sửa * oh chờ đợi, bạn loại bỏ nút gốc. Vâng đó là vấn đề sau đó :) – Pointy
Tôi đã có cùng một vấn đề này nhưng yếu tố của tôi không được tạo động, nó là một yếu tố ol 'đồng bằng trên trang. Tôi tin rằng đó là do sự can thiệp từ Knockout.js. – Sean