2

我希望每次用户完成更改屏幕上滑块的位置时运行 SQL 查询。例如,假设我将滑块设置为 1,然后我希望检索 ID 为 1 的所有行。我希望在您滑过滑块时在屏幕上更新此信息。

我正在使用 JQueryUI 滑块。这是我正在使用的代码。我能做到这一点的最好方法是什么?

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>jQuery UI Slider - Vertical slider</title>
    <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css">
    <script src="../../jquery-1.9.1.js"></script>
    <script src="../../ui/jquery.ui.core.js"></script>
    <script src="../../ui/jquery.ui.widget.js"></script>
    <script src="../../ui/jquery.ui.mouse.js"></script>
    <script src="../../ui/jquery.ui.slider.js"></script>
    <link rel="stylesheet" href="../demos.css">
    <script>
    $(function() {
        $( "#slider-vertical" ).slider({
            orientation: "vertical",
            range: "min",
            min: 0,
            max: 100,
            value: 60,
            slide: function( event, ui ) {
                $( "#amount" ).val( ui.value );
            }
        });
        $( "#amount" ).val( $( "#slider-vertical" ).slider( "value" ) );
    });
    </script>
</head>
<body>

<p>
    <label for="amount">Volume:</label>
    <input type="text" id="amount" style="border:0; color:#f6931f; font-weight:bold;" />
</p>

<div id="slider-vertical" style="height:200px;"></div>

<div class="demo-description">
<p>Change the orientation of the slider to vertical.  Assign a height value via <code>.height()</code> or by setting the height through CSS, and set the <code>orientation</code> option to "vertical."</p>
</div>
</body>
</html>

非常感谢 :)

4

1 回答 1

1

在您的slide函数中,您需要向服务器发出 ajax 请求。请求显然取决于您的应用程序的设置方式,但在应用程序中,您可以只运行查询以获取所需的数据,并将查询结果返回给 ajax 调用。然后有了这个回应,你可以做任何你喜欢的事情。因此,例如,我会执行以下操作:

slide: function(event, ui) {
    $.get({
        url: "/app/address?id=" + ui.value,
        success: function(data, status, xhr) {
            ... Handle response here ...
        }
    });
}

我同意@vlzvl,但在幻灯片方法上运行它并不是一个好主意。更改方法会好得多,因为您将大大减少 ajax 请求的数量,因为它只会在您停止滑动时触发,而不是在滑块的每次移动时触发

于 2013-05-06T04:23:08.313 回答