Я бы создал функцию, которая принимает элемент и присоединяет ползунок:
function addSlider(element) {
var slider = $('.value-slider', element).slider({
orientation: "horizontal",
value:100,
min: 0,
max: 1000,
step: 50,
slide: function( event, ui ) {
$( ".amount", element).val( "£" + ui.value + " - £" + (ui.value + 100) );
var price = "£" + (ui.value / 19).toFixed(2);
$( ".price", element).text(price);
$( ".i-price", element).text(price);
}
});
$( ".amount", element).val( "£" + slider.slider( "value" ) + " - £" + (slider.slider( "value" ) + 100) );
}
(Предполагая, что .amount
, .price
и т. Д. Являются потомками элемента, к которому вы добавляете ползунок. Возможно, вам придется настроить это. Невозможно предоставить полностью правильное решение, не зная HTML структура)
Затем, когда вы клонируете элемент, вы просто передаете клон функции:
var clone = $('some selector').clone();
addSlider(clone.get(0));
В качестве альтернативы вы можете попробовать клонировать элемент с помощью clone(true)
, который также клонирует обработчики событий и данные, связанные с элементом.