如何将jQuery滑块的值传递给onclick事件?

时间:2014-02-27 03:21:42

标签: javascript jquery-ui

我有一个jQuery滑块,它有两个句柄,每个句柄都有值,当我移动它们时会改变值。我想知道的是,是否可以将这两个句柄的值传递给单个onclick事件?

示例:

<a href="#" onclick="showAvailable(slidervalue1, slidervalue2)">Submit</a>

slidervalue1和slidervalue2是滑块中的值,并放在showAvalailable事件中。

以下是showAvailable()的代码:

function showAvailable(firstValue, secondValue)
{
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function(){
  if (xmlhttp.readyState==4 && xmlhttp.status==200){
    document.getElementById("availableShown").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","showavailable.php?startShift="+firstValue+"&endShift="+secondValue,true);
xmlhttp.send();
}

有可能吗?如果是这样,我该如何通过呢? 任何一种哦帮助表示赞赏。提前谢谢。

1 个答案:

答案 0 :(得分:1)

只需获取滑块当前值:

$("#yourSliderID").slider("value");

http://jsbin.com/hewulaze/2/edit?js,console,output

$(function() { // DOM ready 

  // 
  var $sli1 = $('#slider1'),
      $sli2 = $('#slider2');

  $sli1.slider({
    max: 1000,
    value: 100,
    slide: function( event, ui ) {
      console.log( "Slider1 : "+ ui.value );
    }
  });

  $sli2.slider({
    max: 10000,
    value: 5000,
    slide: function( event, ui ) {
      console.log( "Slider2 : "+ ui.value );
    }
  }); 


  function showAvailable(){         
     alert( $sli1.slider("value") ); // test current values.
     alert( $sli2.slider("value") );
  }

  $('#showAvail').click( showAvailable );  // Call function

});

现在您希望了解为什么在浏览器中看到带有值的警告框,让我们看看如何使用这些值。

您的新功能应如下所示:

function showAvailable(){

  var firstValue = $sli1.slider("value");
  var secondValue= $sli2.slider("value");

  if (window.XMLHttpRequest){
    xmlhttp=new XMLHttpRequest();
  }else{
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200){
       document.getElementById("availableShown").innerHTML=xmlhttp.responseText;
    }
  };
  xmlhttp.open("GET","showavailable.php?startShift="+firstValue+"&endShift="+secondValue,true);
  xmlhttp.send();

}