jqueryUI Slider: установка минимальных и максимальных значений в диапазоне от БД - PullRequest
0 голосов
/ 06 марта 2011

У меня есть слайдер jQueryUI на моем веб-сайте, который имеет дело с диапазоном цен.

У меня есть таблица продуктов в mysql, в которой есть различные записи.

Я использую слайдер для фильтрации результатов, но мне нужно установить минимальные и максимальные цены из записей в моей базе данных.

Должен ли я просто генерировать (с php) скрытые поля в моем html, которые содержат минимальные и максимальные значения, а затем использовать jQuery для их получения?Или есть лучший способ добиться этого, может быть, используя AJAX?

Спасибо

Ответы [ 3 ]

0 голосов
/ 06 марта 2011

Любой из описанных вами способов мог бы выполнить работу, я бы, вероятно, пошел к скрытым полям.

Другой вариант может заключаться в том, чтобы ваш php поместил значения непосредственно в ваш файл javascript.

вам просто нужно изменить заголовок в вашем php-файле, чтобы получить вывод, который будет читаться браузером как javascript.

это сделает это.

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

вы можетеустановите значения прямо в javascript через ваш php (как и в любом другом php-файле).

Включите его на свою страницу так же, как и любой другой файл javascript и выполненную работу, его просто и динамично.:)

0 голосов
/ 06 марта 2011

Получите наши результаты, используя скрипт 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>

это быстро написано и не проверено, но я надеюсь, что вы получите общую идею;)

0 голосов
/ 06 марта 2011

Если вы заботитесь о доступности, самым безопасным способом было бы предоставить элемент формы, а затем скрыть его с помощью Javascript, чтобы пользователи без javascript могли по-прежнему использовать ваш веб-сайт. Затем вы можете добавить функцию обновления AJAX.

Если страница динамическая, вам следует использовать форму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...