0

我有两个添加空值 (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', { })
});
}
4

1 回答 1

0

将动态创建的 html 绑定到 jquery 使用.onjquery 的功能

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

或者你可以使用.delegate函数

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

于 2013-03-05T11:53:36.520 回答