我的网站上有一个jQueryUI滑块,用于处理价格范围。
我在mysql中有一个包含各种条目的产品表。
我使用滑块来过滤结果,但我需要设置数据库中记录的最低和最高价格。
我是否应该在我的html中生成(使用php)隐藏字段,其中包含最小值和最大值,然后使用jQuery获取它们?或者有更好的方法来实现这一点,也许使用AJAX?
由于
答案 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>
这是快速编写和未经测试的,但我希望你能得到所有的想法;)