後javascript函數我完全在JavaScript/jQuery的新手,我有一個小問題:)我不敢說我的onclick使用AJAX
我使用AJAX來獲得DATAS生成和填充表單字段。之後,我想添加和/或刪除JavaScript功能的領域,但它不起作用。
正如我正在學習,我一步一步地讓我的代碼,所以下面的代碼實現了ajax請求(這是完美的工作),並且我想用一個on +圖片。
$(document).ready(function(){
var id = $('#subId').val();
var num = $('.cloneSub').length;
var newNum = new Number(num + 1);
$.ajax({
type: 'POST',
dataType: 'json',
url: '/admin/popsub2/',
data: 'id='+id,
async: false,
success: function(data){
$.each(data, function(key, val){
// Add and populate the input text element
var newElem = $('#sub' + num).clone().attr('id', 'sub' + newNum);
newElem.children(':first').attr('id', 'sub' + newNum).attr('name', 'sub' + newNum);
$('#sub' + num).attr('value', val);
$('#sub' + num).after(newElem);
$(newElem).before('<br />');
// Simply add the select element
var newSelect = $('#editMenu_article' + num).clone().attr('id', 'editMenu_article' + newNum);
newSelect.children(':first').attr('id', 'editMenu_article' + newNum).attr('name', 'editMenu_article' + newNum);
$('#editMenu_article' + num).after(newSelect);
$(newSelect).before('<br />');
});
},
failure: function(){
alert('echec !!!');
}
});
function addField(){
// Add the input text element
var newElem = $('#sub' + num).clone().attr('id', 'sub' + newNum);
newElem.children(':first').attr('id', 'sub' + newNum).attr('name', 'sub' + newNum);
$('#sub' + num).attr('value', val);
$('#sub' + num).after(newElem);
$(newElem).before('<br />');
// Add the select element
var newSelect = $('#addMenu_article' + num).clone().attr('id', 'addMenu_article' + newNum);
newSelect.children(':first').attr('id', 'addMenu_article' + newNum).attr('name', 'addMenu_article' + newNum);
$('#addMenu_article' + num).after(newSelect);
$(newSelect).before('<br />');
}
});
addField()函數根本不起作用,我不知道爲什麼。 AJAX似乎牽涉到腳本執行。
謝謝你的幫助。
UPDATE
我+圖像:
<img src="images/plus.png" id="editSub2" />
追隨你的幫助,我想這些代碼:
$('#editSub2').live('click', function(){ ... });
$('#editSub2').bind('click', function(){ ... });
但沒有任何工程。
我在代碼中的任何地方都看不到點擊處理程序......除非我錯過了它。 – Colleen 2012-03-07 21:58:02
嘗試移動$(document).ready(function(){block – capi 2012-03-07 21:58:25
)之外的addField()函數,但沒有看到您的點擊處理程序,我無法分辨您是否嘗試將其應用於您已克隆的元素。如果是的話,我肯定克隆的元素不會得到它們被克隆的元素的處理程序,除非你傳遞true(如$(「#id」)。clone(true)) – Colleen 2012-03-07 22:01:30