当JQuery滑块中的值发生变化时,运行MySQL查询

Run MySQL query when value in JQuery slider changes

本文关键字:变化 运行 查询 MySQL JQuery      更新时间:2023-09-26

我希望每次用户完成更改屏幕上滑块的位置时运行一个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>

slide函数中,您将希望向服务器发出ajax请求。请求显然取决于你的应用程序是如何设置的,但在应用程序中,你可以只运行你想要的数据的查询,并让它返回查询的结果返回给ajax调用。有了这个回应,你就可以做任何你喜欢的事情了。例如,我要这样做:

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

我同意@ vlzvel的观点,但在幻灯片方法上运行这个不是一个好主意。change方法会更好,因为它只在停止滑动时触发,而不是每次滑动

时触发,这将大大减少ajax请求的数量。