我有两个添加空值 (SPM) 的函数 add_spm,在每个 SPM 下,用户可以有多个 STATEMENTS。当我使用 javascript 函数添加一个 spm 时,它可以工作,然后当我在这个新创建的下添加一个 STATEMENT 时,它不会显示在 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', { })
});
}