Я пытаюсь использовать слайдер начальной загрузки в приложении Rails 4.Rails 4 - Bootstrap Slider - динамически заполняемые всплывающие подсказки по тикам данных?
Функция, которую я пытаюсь использовать, показана в этом примере в документах gem dost bootstrap-slider-rails.
Я пытаюсь динамически заполнить текст подсказки инструмента на основе значения ползунка данных.
На мой взгляд, у меня есть:
<input id="ex13" type="text" data-slider-ticks="[1, 2, 3, 4, 5, 6, 7, 8]" data-slider-ticks-snap-bounds="30" data-slider-ticks-labels='["Breadboard", "High Fidelity", "Low Fidelity", "Demonstration", "Operational Environment", "Prototype", "Relevant Environment", "Simulation"]' data-slider-value="<%= @project.trl.level %>"/>
Тогда в моем файле JS, у меня есть:
JQuery (документ) .ready (функция() {
$("#ex13").bootstrapSlider({
ticks: [ 10, 20, 30, 40, 50, 60, 70, 80],
ticks_labels: ["Breadboard", "High Fidelity", "Low Fidelity", "Demonstration", "Operational Environment", "Prototype", "Relevant Environment", "Simulation"],
ticks_snap_bounds: 30,
orientation: 'vertical',
tooltip_position: 'left',
enabled: false
});
});
У меня есть модель под названием TRL. Эта таблица имеет атрибуты, называемые level (integer) и описание (текст).
Значение ползунка данных теперь показывает уровень trl.level. Эта часть работает нормально, но я не могу понять, как заставить функцию форматирования работать.
Из документов вы можете видеть, что аргумент форматирования нельзя передать как атрибут data.
Я пытался добавить его в метод Js,
$("#ex13").bootstrapSlider({
ticks: [ 10, 20, 30, 40, 50, 60, 70, 80],
ticks_labels: ["Breadboard", "High Fidelity", "Low Fidelity", "Demonstration", "Operational Environment", "Prototype", "Relevant Environment", "Simulation"],
ticks_snap_bounds: 30,
orientation: 'vertical',
tooltip_position: 'left',
enabled: false,
formatter: "<%= @project.trl.description%>"
});
Это не работает. Как использовать функцию форматирования в моем слайдере?
ПРИНИМАТЬ SUGGESTION Ашитака'S
Я пытался о внесении изменений мои JS к:
jQuery(document).ready(function() {
$("#ex13").bootstrapSlider({
ticks: [ 10, 20, 30, 40, 50, 60, 70, 80],
ticks_labels: ["Breadboard", "High Fidelity", "Low Fidelity", "Demonstration", "Operational Environment", "Prototype", "Relevant Environment", "Simulation"],
ticks_snap_bounds: 30,
orientation: 'vertical',
tooltip_position: 'left',
enabled: false,
// formatter: "<%= @project.trl.description%>"
formatter: function(value) {
return "<%= @project.trl.description%>";
}
});
});
Эта попытка распечатывает <% = @ project.trl.description%> вместо того, чтобы содержание, что атрибут и распечатать его. Итак, следующий шаг к реализации этой концепции - как передать данные, сохраненные в базе данных, в js tooltip?
В вашей функции 'formatter' - добавьте инструкцию' debugger' или 'console.log (значение)', чтобы выяснить, какое значение 'значение' передается в функцию. Как и в случае, если вы просто «возвращаете значение», то –