選択リストが変更されたときに動的にロードされるいくつかのテキスト入力要素を持つフォームを作成しています。
問題は、フォームを送信すると、これらの要素がサーバーに送信されるデータに送信されないことです。
これらの動的に作成された要素を送信するフォームに「入れる」にはどうすればよいですか?
コードは次のようなものです。
$("#my_select_id").change(function() {
$.ajax({
type: "GET",
url: "some-url/" + $("#played_number_game_id").children("option:selected").val(),
async: false,
dataType: "html",
error: function(XMLHttpRequest, status, errorThrown) {
alert("oh no!");
alert(status);
},
success: function (data, status) {
$("#parent-element").html("");
$("#parent-element").append(data);
},
complete: function() {
}
});
$("#my_form_submit").click(function() {
$("#my-form").ajaxSubmit({ clearForm: true });
return false;
});
});
ajax 呼び出しによって返される html は次のとおりです。
<input id="my-form_e_1" class="number-input" type="text"/>
<input id="my-form_e_2" class="number-input" type="text"/>
そして、ajaxメソッドを呼び出した後にfirebugを使用してページを確認すると、動的にロードされたhtmlは階層内にあるべき場所にあります...つまり、フォーム内にあります。
しかし、送信ボタンをクリックすると、ajax 呼び出しの前に存在していたフォームの要素のみが投稿されます。
何か案は?