0

空の値 (SPM) を追加する 2 つの関数 add_spm があります。各 SPM の下で、ユーザーは複数のステートメントを持つことができます。javascript関数を使用してspmを追加すると機能し、この新しく作成されたステートメントの下にステートメントを追加すると、htmlに表示されません(作成中ですが)、ページをリロードしてadd_statement関数を呼び出すと、機能しますだから、どういうわけか、jquery は add_spm 関数 (?) から新しく生成された HTML を読み取らないと思います。insert ステートメントと insert_spm.php は、この情報をデータベースに挿入して ID を返すだけです。

function add_spm(spid, oid)
{
$.post('insert_spm.php',{ ci_caseid: '<? echo $ci_caseid; ?>', sp_id: spid, o_id: oid},  function(data) {
$('li#recordsArray_' + spid + '').after('<li id="recordsArray_' + data + '" class="list-spm"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><span class="editspm" id="' + data + '"><? echo NYTT_SPM_ADDED; ?></span><div class="clearboth"></div><div class="settinn"><a href="/cb_kobling2_koble.php?action=spm_view&sp_id=' + data + '"><? echo HENT_STATEMENT; ?></a><br><a href="#" onClick="add_statement(' + data + '); return false;"><? echo SETTINN_STATEMENT; ?></a></div></li>');
$('.editspm').editable('savespm.php', {});
});

function add_statement(spid)
{
$.post('insert_statement.php',{ ci_caseid: '<? echo $ci_caseid; ?>', sp_id: spid},  function(data) {
$('ul.sortable[spid="' + spid + '"]').append('<li id="recordsArray_' + data  + '" class="list-statement"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><span class="edit" id="' + data + '"><? echo NYTT_STATEMENT_ADDED; ?></span><div class="clearboth"></div></li>').find('.edit').editable('save.php', { })
});
}
4

1 に答える 1

0

動的に作成されたhtmlをjqueryにバインドするに.onは、jqueryの関数を使用します

参照: http://api.jquery.com/on/

または.delegate関数を使用できます

参照: http://api.jquery.com/delegate/

于 2013-03-05T11:53:36.520 に答える