jqueryUI Slider:设置DB范围内的最小值和最大值

时间:2011-03-05 23:03:18

标签: php jquery mysql ajax

我的网站上有一个jQueryUI滑块,用于处理价格范围。

我在mysql中有一个包含各种条目的产品表。

我使用滑块来过滤结果,但我需要设置数据库中记录的最低和最高价格。

我是否应该在我的html中生成(使用php)隐藏字段,其中包含最小值和最大值,然后使用jQuery获取它们?或者有更好的方法来实现这一点,也许使用AJAX?

由于

3 个答案:

答案 0 :(得分:0)

如果你关心可访问性,最安全的方法是提供表单元素,然后用Javascript隐藏它,这样没有javascript的用户仍然可以使用你的网站。然后,您可以添加AJAX更新功能。

如果页面是动态的,您应该使用表单。

答案 1 :(得分:0)

你所描述的任何一种方式都可以完成工作,我可能会选择隐藏的领域。

另一种选择可能是让你的php直接将值放入你的javascript文件中。

您只需更改php文件中的标题即可将浏览器的输出读取为javascript。

这样做会。

Header("content-type: application/x-javascript");

你可以通过你的php在javascript中设置正确的值(就像在任何其他php文件中一样)。

将其包含在您的网页上,就像其他任何javascript文件和工作一样,简单而动态。 :)

答案 2 :(得分:0)

使用php脚本获取我们的结果并将其输出为JSON,如下所示:

<?php

$sql = 'SELECT MAX(price) as max, MIN(price) as min FROM products';

// .. do query, get row ...

echo(json_encode(array(
    "max"=>$max,
    "min"=>$min
)));

?>

然后使用$ .getJSON或$ .ajax(jQuery)来获取结果并在滑块中使用它们,如下所示:

<script type="text/javascript">
$(document).ready(function() {
    var max, min;
    $.ajax({
        url: "script.php",
        dataType: "json",
        async: false,
        success: function(data) {
            data = data[0];
            max = data.max;
            min = data.min;
        }
    });

    $.slider({
        max: max,
        min: min
    });
});
</script>

这是快速编写和未经测试的,但我希望你能得到所有的想法;)