を使用した後、私のonclickを呼び出すことはできませんし、私は少し問題:)私は、私は完全にはJavaScript/jQueryのでは初心者だjavascript関数AJAX
私は生成し、フォームフィールドを移入する件のデータを取得するために、AJAXを使用していますがあります。その後、私はjavascript関数でフィールドを追加したり削除したりしたいのですが、うまくいきません。
私が学んでいるように、私は自分のコードをステップバイステップで作成するので、次のコードはajaxリクエスト(完全に動作しています)を実装しています。画像。
$(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
$(document).ready(function(){ブロック – capi
)の外でaddField()関数を動かそうとすると、クリックハンドラを見ることなく、クローンした要素に適用しようとしているかどうかわかりませんクローンされた要素がtrueを渡さない限り、クローンされた要素のハンドラを取得しないと確信しています(クローン(true))。 – Colleen