[英]Forms created dynamically in jquery does not submit
我正在頁面中動態創建許多表格。 這是我在jQuery中的表單創建例程
$( document ).ready(function() {
var quest;
$.ajax({
url: "myteacher.php",
dataType: "json",
success: function(response){
console.log(response);
quest = response;
var forms = [];
for(i=0; i<quest.length; i++)
{
$("#unanswered").append("<p>"+quest[i].qtext+"</p>");
forms[i] = $('<form method = "POST">').attr('id', function(){
return 'AnswerBox'+quest[i].questionid;
}).appendTo($("#unanswered"));
$('<textarea rows="5" class="AnswerBoxArea" name="answer">').appendTo(forms[i]);
$('<input type="button" value="Answer" class="AnsSubmit">').attr('id', function(){
return 'AnsTextQ'+quest[i].questionid;
}).appendTo(forms[i]);
}
},
error : function(jqXHR, textStatus, errorThrown) {
alert(jqXHR.status+", " + jqXHR.statusText+", "+textStatus+", "+errorThrown);
}
});
});
表單創建完美。 但是單擊按鈕不會啟動任何事件。 我正在使用以下例程進行測試:
$( document ).ready(function() {
$(":button").on("click", function(){
$("input[id^='AnsTextQ']").each(function() {
var x = $(this).attr('type');
alert(x);
});
});
});
有人可以告訴我怎么了嗎?
編輯:問題在於,當元素":button"
尚不存在時, .on("click"
事件的函數將在內存中啟動,因此它們就像undefined
選擇器一樣,需要適應代碼的邏輯當元素存在運行例是使用功能.on()
去jQuery的jQuery的。對()函數API為這個選擇它已經存在於你的項目DOM
。
此項工作在添加到DOM
中的按鈕中。
試試這個,告訴我。
$(document).on("click", ":button", function(){
$("input[id^='AnsTextQ']").each(function() {
var x = $(this).attr('type');
alert(x);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.