Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Добрые люди помогите с ползунком jquery ui slider (https://javascript.ru/forum/misc/73225-dobrye-lyudi-pomogite-s-polzunkom-jquery-ui-slider.html)

laimas 19.04.2018 16:16

SERblY,
без обид, но если не думать над тем что вам пишут, ждать с моря погоды, то это и есть тупость. Для кого это было написано, что нельзя вставить переменную Smarty в шаблон в JS код не учитывая фигурных скобок? Я кому давал ссылку?

Знать реалии сервера, это означает - либо вы свой JS код показываете как он выводится в шаблоне, если еще только он в шаблоне выводится, причем не обязательно весь его вываливать, либо просто словами сказать - вывод его в шаблоне, при этом есть ошибки и т.п.

Если вывод этого JS в шаблоне, то ваша попытка сделать так:

<script type="text/javascript">
jQuery(document).ready(function(){
 
 
/* слайдер цен */
 
var minCost = jQuery("input.minCost"),
maxCost = jQuery("input.maxCost"),
storage = sessionStorage;
jQuery("#slider").slider({
min: 0,
max: {%$max_price%},
step: 500,
...


закончится неудачей потому, что уже на этой строке jQuery("#slider").slider({ - эта фигурная скобка есть конфликт с этой фигурной скобкой - max: {%$max_price%},

Вам сколько раз об этом повторять? Вместо того чтобы прочесть по ссылке и вникнуть в суть проблемы, вы ждете чтобы вам на хлеб намазали?

Кроме этого говорилось, что можно поступить иначе, просто объявить js-переменную, определив ей значение через переменную Smarty объявленную вне фигурных скобок, и которую потом использовать.

<script type="text/javascript">
var max =  {%$max_price%}; //ЭТО МАКС ЗНАЧЕНИЕ

jQuery(document).ready(function(){
 
 
/* слайдер цен */
 
var minCost = jQuery("input.minCost"),
maxCost = jQuery("input.maxCost"),
storage = sessionStorage;
jQuery("#slider").slider({
min: 0,
max: max, //А ЭТО ИСПОЛЬЗУЕМ ЕГО ВЕЗДЕ ВМЕСТО 100000
step: 500,
...


Что непонятного? Если вы и это делали, а у вас не работает, то бог его знает, что и где вы делаете.

SERblY 19.04.2018 16:31

Цитата:

Сообщение от laimas
без обид, но если не думать над тем что вам пишут, ждать с моря погоды, то это и есть тупость. Для кого это было написано, что нельзя вставить переменную Smarty в шаблон в JS код не учитывая фигурных скобок? Я кому давал ссылку?

Знать реалии сервера, это означает - либо вы свой JS код показываете как он выводится в шаблоне, если еще только он в шаблоне выводится, причем не обязательно весь его вываливать, либо просто словами сказать - вывод его в шаблоне, при этом есть ошибки и т.п.

Если вывод этого JS в шаблоне, то ваша попытка сделать так:

01
<script type="text/javascript">
02
jQuery(document).ready(function(){
03
  
04
  
05
/* слайдер цен */
06
  
07
var minCost = jQuery("input.minCost"),
08
maxCost = jQuery("input.maxCost"),
09
storage = sessionStorage;
10
jQuery("#slider").slider({
11
min: 0,
12
max: {%$max_price%},
13
step: 500,
14
...


закончится неудачей потому, что уже на этой строке jQuery("#slider").slider({ - эта фигурная скобка есть конфликт с этой фигурной скобкой - max: {%$max_price%},

Вам сколько раз об этом повторять? Вместо того чтобы прочесть по ссылке и вникнуть в суть проблемы, вы ждете чтобы вам на хлеб намазали?

в предыдущем посте написал что это я понял давно вы сами то читайте вообще,
Цитирую себя блин:
Потому что тупо вставить в скрипт на место 1000000 вот это {%$max_price%} НЕПРАВИЛЬНО, не будет работать и даже если будет будут глюки так как будут конфликты там из-за символов (это Вы до меня донесли это я понял)

SERblY 19.04.2018 16:33

<script type="text/javascript">
var max =  {%$max_price%}; //ЭТО МАКС ЗНАЧЕНИЕ

jQuery(document).ready(function(){
 
 
/* слайдер цен */
 
var minCost = jQuery("input.minCost"),
maxCost = jQuery("input.maxCost"),
storage = sessionStorage;
jQuery("#slider").slider({
min: 0,
max: max, //А ЭТО ИСПОЛЬЗУЕМ ЕГО ВЕЗДЕ ВМЕСТО 100000
step: 500,
...



вот вооооттт о чем я Вас прошу, СПАСИБО!
ПС: я это тоже догнал я только синтаксиса же незнаю куда правильнее вставить это вначале или где, вот вы показали как должно быть я УСВОИЛ жирный + Вам за это

SERblY 19.04.2018 16:44

Цитата:

Сообщение от SERblY
если еще только он в шаблоне выводится, причем не обязательно весь его вываливать, либо просто словами сказать - вывод его в шаблоне

Понял учту

laimas 19.04.2018 16:45

SERblY,
а что если этот JS у вас подключаемый? А ведь и об этом тоже говорилось, и говорилось, что нужно просто вывести на страницу в секции <sriptp> в шаблоне страницы, в которой подключается этот js-код слайдера цен, типа var max = {%%}; А в подключаемом файле использовать эту переменную вместо 10000. Ведь говорилось же!

И если это подключаемый файл, то вставлять в него smarty переменные глупо, ибо js файлы не являются исполняемые на сервере, РНР код в них не будет выполняться, а Smarty, это РНР.

Поэтому вам и описывались ситуации, читать нужно внимательно и думать, и пояснять происходящее на сервере, если хотите получать конкретику в ответах.

SERblY 19.04.2018 17:27

ВСЕ работает спасибо!
еще вопрос если можно, условие для шага лучше делать на смарти что то типа:
объевляем {%%} - шаг
ЕСЛИ {%%} < 10000 то {%%} = 500
ЕСЛИ {%%} < 100000 то {%%} = 1000
ЕСЛИ {%%} < 1000000 то {%%} = 10000 и т.д.

или в самом JS лучше сделать, щас просто оч важна скорость загрузки сайта там и все это, поэтому и спрашиваю, мб вопрос не актуален, но всеже , как лучше будет для всех?

SERblY 19.04.2018 17:28

Цитата:

Сообщение от laimas
И если это подключаемый файл, то вставлять в него smarty переменные глупо, ибо js файлы не являются исполняемые на сервере, РНР код в них не будет выполняться, а Smarty, это РНР.

это я понимаю, я писал вроде бы что в самом шаблоне все работает, ну должен был уточнить, исправлюсь!

laimas 19.04.2018 18:09

Без разницы где эти условия задавать.

SERblY 19.04.2018 18:33

понял спс

SERblY 19.04.2018 19:50

а случаем не знайте как прописать настройки мб в JS чтобы включилась анимированая его передвижение когда меняются значения в input ?
извиняюсь нашел, animate: true,


Часовой пояс GMT +3, время: 19:27.