将jQuery UI滑块添加到动态生成的元素中?

时间:2012-01-05 02:48:21

标签: javascript jquery jquery-ui jquery-ui-slider dynamically-generated

所以我使用.append()将列表元素添加到列表中。在附加元素内是我需要将jQuery Slider小部件附加到的div。不确定我是否必须使用.on()或其他东西。 FWIW,可以添加无限量的li,这就是我为div使用类的原因。

无论如何,这是一个简化的片段:

    $('.cycleDuration').slider();

    $cycleBlock += '<li>';
    $cycleBlock += '<div class="cycleDuration"></div>';
    $cycleBlock += '</li>';
    $('#cycles').append($cycleBlock);

2 个答案:

答案 0 :(得分:4)

我认为你需要在实际附加元素之前绑定代码。在这个例子中,我只是绑定了一个click事件,因为我没有你的滑块代码。

http://jsfiddle.net/4vwUd/1

$('button').click( function() {
    //turn your div into a jquery object
    var $cycleBlock = $('<div class="cycleDuration"></div>');
    //bind the event
    $cycleBlock.bind('click', function() { alert(); });
    //append to the list
    $('#cycles').append('<li />').children('li:last').append($cycleBlock);
});

答案 1 :(得分:2)

你只需重新调用“$('。cycleDuration')。slider();”每次追加列表元素后,都会将添加的类元素绑定到该函数。