ajax – 将jquery滑块绑定到dom

我的网页的ajax部分有一个
jquery UI滑块.如果我用ajax重新加载这个部分,滑块就会消失.我想我需要将滑块附加到DOM,但看起来它需要附加一个事件,如:

$(".radio").on("click", function () {

但我不知道我需要在那附上哪种活动?

谢谢

当前的HTML:

$(function() {
  var handle = $("#custom-handle");
  $("#custom-handle").text(sizes[0].value);
  $("#slider").slider({
    create: function() {},
    min: 0,
    max: sizes.length - 1,
    step: 1,
    slide: function(event, ui) {
      handle.text(sizes[ui.value].value);
    }
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<div id="slider">
  <div id="custom-handle" class="ui-slider-handle"></div>
  <br>
</div>

最佳答案

I’ve got a jquery ui slider in an ajax part of my webpage. if I’m
reloading this part with ajax, the slider disappears.

您是否正在替换ajax中的滑块HTML代码?你在替换这个div吗?

<div id="slider">
  <div id="custom-handle" class="ui-slider-handle"></div>
  <br>
</div>

如果是这种情况,那么我认为问题不在于绑定…你是否尝试过ajax调用完成后重新初始化滑块?

$.ajax({
    type: 'post',
    url: 'some url',
    success: function(data) {                       
        initializeSlider();
    }
});      

function initializeSlider() {
    $("#slider").slider({
        create: function() {},
        min: 0,
        max: sizes.length - 1,
        step: 1,
        slide: function(event, ui) {
            handle.text(sizes[ui.value].value);
        }
    });
}
点赞