有没有办法让这个jquery滑块更新POST值?

时间:2012-12-09 03:32:26

标签: jquery slider

我正在使用滑块将值作为POST发送到我的服务器,但是,它们仅在鼠标上升时更新。有没有办法在鼠标按下期间重复POST,因为正在拖动滑块?

function changeBuzz(event, ui) { 
    $('#indicator').text(ui.value); 
    $.post('/buzz', { buzz: ui.value } ); 
}         

$(document).ready(function(){ 
    $('#slider').slider({min: 0, max:8000, change:changeBuzz}); 
});

2 个答案:

答案 0 :(得分:0)

请查看此活动#event-slide

  

在幻灯片播放期间每次鼠标移动时触发。提供的价值   event as ui.value表示句柄将具有的值   当前运动的结果。取消该活动将阻止该事件   从移动手柄和手柄将继续有其前一个   值。

但请注意每次鼠标移动时反复的ajax请求。确保在移动鼠标或类似内容时创建一些间隔...并保持change事件以保证最终的正确值。

答案 1 :(得分:0)

对于捕获滑动,使用内置幻灯片事件,该事件在幻灯片中的每次鼠标移动时触发。

$('#slider').slider({
  min: 0, 
  max:8000, 
  slide: changeBuzz
});

如果您还想捕获mousedown事件,可以使用插件外部的标准jquery处理程序(下面未经测试的代码)。但您必须手动创建函数所需的对象,实际上只是UI

$('#slider').mouseDown(function(e){
    var event = {}
    var ui = $('#slider') // this might not be correct but you can find out what you need here
    changeBuzz(event,ui)
}

这应该至少让你有一些方法