可定义的未定义子ID

时间:2012-06-24 01:37:56

标签: javascript jquery jeditable

可编辑设置

$('.editable').editable('includes/notes/save.php', {
    loadurl     : 'includes/notes/load.php?id=' + $(this).find("div").prop("id"),//undefined child ID
    type        : 'text',
    onblur      : 'submit',
    indicator   : '<img src="includes/notes/indicator.gif">',
    style       : 'display: inline'
});

HTML

<tr class="items">
    <td>
        <?php echo $data['item_name']; ?>
    </td>

    <td>
        <div class="editable inventory-notes">
            <!-- need to get the child id below into jeditable -->
            <div id="<?php echo $data['id']; ?>">
                <div class="add_note"></div>
                <div class="edit_note"></div>
                <div class="delete_note"></div>
            </div>
        </div>
    </td>

</tr>

如何将ID $data['id']变为jeditable loadurl?我正在使用jQuery 1.6.2。数据集大约有1,200行。

1 个答案:

答案 0 :(得分:2)

var id = $('.editable').find("div:first").attr("id");

$('.editable').editable('includes/notes/save.php', {
    loadurl     : 'includes/notes/load.php?id=' + id
    type        : 'text',
    onblur      : 'submit',
    indicator   : '<img src="includes/notes/indicator.gif">',
    style       : 'display: inline'
});

我看到.editable()的第二个参数是Object而不是Function,所以this在这里不起作用。您之前要存储id并在.editable()配置中使用它。

根据评论

我认为您的整个代码都在click()处理程序中,您需要使用

var id = $(this).find('div:first').attr('id');

获取当前点击的id