-1

如何使用 live 循环通过AJAX返回的动态创建的元素???AJAX 返回下面的 HTML ... 现在在获得该 HTML 之后,我如何循环通过它来检索 id 值?我用过.each(),但它根本不起作用,我总是将它完美地用于静态HTML数据..我如何将 .each 与.live()函数一起使用?我使用实时点击没有问题..

// this HTML is provided by AJAX dynamically
    <div id="defaults">
        <div id="badge_id" class="unique_ids database_key ui-droppable ui-sortable">

    <h1 class="ui-widget-header">
    <label class="description">Badge ID</label>
    </h1>

            <div class="ui-widget-content">
                <ol></ol>
            </div>
            <li id="0" class="ui-draggable">dsifs</li>
        </div>
        <div id="registration_type" class="unique_ids database_key ui-droppable ui-sortable">

    <h1 class="ui-widget-header">
    <label class="description">Registration Type</label>
    </h1>

            <div class="ui-widget-content">
                <ol>
                    <li class="placeholder">Add "Registration Type" here</li>
                </ol>
            </div>
        </div>
    </div>
4

2 回答 2

0

您应该在 AJAXsuccess回调中捕获 ID。

如果您使用的是.load().

var ids = [];

$('#result').load('ajax/test.html', function() {
    $('#saveButton').on('click',function() {
        $('#result *[id]').each(function() {
          ids.push( $(this).attr('id') );
        });
    });
});
于 2013-08-01T22:35:58.263 回答
0

Ajax 是异步的,因此您需要处理success请求回调中的循环。

您用于live 将事件附加到动态创建的元素(已弃用)。需要将其替换为.on

如何将 .each 与 .live() 函数一起使用?

each用于迭代对象并live附加事件。你永远不会把他们两个放在一起。

于 2013-08-01T22:36:06.500 回答