使用select onchange事件刷新jquery滑块

Refresh jquery slider with select onchange event

本文关键字:jquery 滑块 刷新 事件 select onchange 使用      更新时间:2023-09-26

我有一个包含多个字段的表单,其中包括一个jquery滑块和一个选择下拉框。目前,当我更改下拉列表的选择时,我会通过以下javascript清除其他几个字段的值:

function clearVolumes() {
  document.getElementById('size').value = "";
  document.getElementById('amount').value = "";
  document.getElementById('hardwood_testet').value = "";
}

我用onchange称之为

<select id="catbiomass" name="categories[]" onchange="clearVolumes()" />

这对我来说效果很好。然而,表单中有一个jquery滑块(我通过SO找到的),我也试图用这个onchange将其刷新为零,但没有成功。滑块的jquery是:

$( "#hardwoodslider" ).slider({
  range: "min",
  min: 0,
  max: 100,
  step: 5,
  value: 0.00,
  slide: function( event, ui ) {
  $( "#hardwood_testet" ).val( ui.value );
  $(ui.value).val($('#hardwood_testet').val());
  }
  });
$("#hardwood_testet").keyup(function() {
  $("#hardwoodslider").slider("value" , $(this).val())
});

我正在尝试添加以下jquery:

$("#catbiomass").onchange(function() {
  $("#hardwoodslider").slider("value" , 0)
});

这不起作用,当我更改选择字段时,滑块不会重置为零。我一直在阅读,这段代码应该可以工作,所以问题是因为我实际上在select字段中调用了两个onchange事件,一个通过javascript,另一个通过jquery?

感谢

我尝试了两种可能的解决方案,它们对我来说都很好:

  1. 组合两个onChange函数
    $("#catbiomass").ochange(function(){document.getElementById('size').value=";document.getElementById('amount').value=";document.getElementById('hardwood_testet').value=";$("#hardwoodslider").滑块("value",0)})
    函数clearVolumes(){document.getElementById('size').value=";document.getElementById('amount').value=";document.getElementById('hardwood_testet').value=";$("#hardwoodslider").滑块("value",0);}
  2. 请使用".bind"而不是".ochange":
    $("#catbiomass").bind('change',function(){$("#hardwoodslider").滑块("value",0);})

你可以在这里查看我的演示。