jQuery移动滑块计算

时间:2014-03-04 16:38:03

标签: javascript jquery-mobile

我正在开发一个基于jQuery mobile的订单,到目前为止我一直在使用http://demos.jquerymobile.com/1.4.2/forms/作为指导(我对JS不是很了解,但我正在学习)。到目前为止,我有一个带滑块的表单,一个选择(是/否),以及一个用于计算结果的文本框。剩下的就是获取滑块值并将其乘以yes值或no值,并将其显示在文本框中。例如,如果设置为yes,则乘以8;如果设置为no,则乘以10。

我已经看到了一些如何通过将DIV转换为基本滑块来做到这一点的示例,但我还没有找到一种方法来使用jQuery移动滑块。我仍然想弄清楚,但我很欣赏任何想法。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <link rel="stylesheet"  href="css/jquery.mobile-1.2.0.css" />
    <link rel="stylesheet" href="css/jqm-docs.css"/>
    <script src="js/jquery-1.7.1.min.js"></script>
    <script src="js/jqm-docs.js"></script>
    <script src="js/jquery.mobile-1.2.0.js"></script>
    <style type="text/css">
        body{background:none transparent}
    </style>
</head>
<body>
<form action="redirector.php" method="POST" data-ajax="false" class="ui-body ui-body-a ui-corner-all">
    <div data-role="fieldcontain"><input type="range" name="slots" id="slots" value="16" min="8" max="18" data-theme="a" data-track-theme="b" /></div>
    <style type="text/css" media="screen">
        .containing-element .ui-slider-switch { width: 9em; }
    </style>
    <div class="containing-element" style="">
        <select name="type" id="flip-min" data-role="slider">
            <option value="yes">yes</option>
            <option value="no">no</option>
        </select>
        <div style="display: inline-block; vertical-align: top;">
            <label for="amount" style="margin:6px 6px 0 0">Amount:</label>
            <input style="display: inline-block; margin-top: 2px" name="amount" id="amount" value="" type="text">
        </div>

    </div>
    <input type="submit" value="Submit" name="Submit_button"><input type="reset" value="Reset" name="Reset_button">
</form>
</body>
</html>

http://jsfiddle.net/Y6cqC/

1 个答案:

答案 0 :(得分:3)

请尝试使用此项进行滑动计算

$("#flip-min").on("change", function () {
   setAmount();

});
$("#slots").on("change", function () {

       setAmount();

 });
function setAmount(){
   if ($("#flip-min").val() == "yes") {
           var a =  $("#slots").val();
          $("#amount").val((a*10));
        }
        if ($("#flip-min").val() == "no") {
           var a =  $("#slots").val();
          $("#amount").val((a*8));
        }
}

小提琴demo here