【问题标题】:jqueryUI Slider: Setting minimum and maximum values in range from DBjqueryUI Slider:设置DB范围内的最小值和最大值
【发布时间】:2011-07-09 14:34:42
【问题描述】:

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

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

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

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

谢谢

【问题讨论】:

    标签: php jquery mysql ajax


    【解决方案1】:

    您描述的任何一种方式都可以完成工作,我可能会选择隐藏字段。

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

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

    这样就可以了。

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        使用 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>
        

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

        【讨论】:

          猜你喜欢
          • 2014-03-22
          • 2020-10-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多