Как можно убрать символ € со шкалы, оставив его в остальных местах, таких как на ползунке и в начальных и конечных значениях сверху? <br/> <pre><code class="html"><div class="range-slider-price">
<input type="text" class="js-range-slider-price" value="" />
</div>
</div></code></pre> <br/> <pre><code class="css">.irs--round .irs-handle {
border: 4px solid #D81E05;
}
.irs--round .irs-bar {
top: 36px;
height: 4px;
border-radius: 4px 0px 0px 4px;
background: linear-gradient(90deg, #D81E05 0%, #C91C04 33.33%, #C91C04 66.67%, #D81E05 100%);
}
.irs--round .irs-single {
background-color: #D81E05;
}
.irs--round .irs-single:before {
position: absolute;
display: block;
content: "";
bottom: -7px;
left: 50%;
width: 6px;
height: 7px;
margin-left: -3px;
overflow: hidden;
border: 3px solid transparent;
background-color: #D81E05;
}</code></pre> <br/> <br/> <pre><code class="javascript">export function rangeSliderPrice() {
var $range = $(".js-range-slider-price");
var $result = $(".js-result-price");
var values = [1, 3, 6, 9, 12];
var values_p = ["1 month", "3 month", "6 month", "9 month", "12 month"];
$range.ionRangeSlider({
skin: "round",
type: "single",
grid: true,
values: values,
prettify: function (n) {
var ind = values.indexOf(n);
return values_p[ind];
},
onStart: function(data) {
$result.text(values_p[values.indexOf(data.from_value)]);
},
onChange: function(data) {
$result.text(values_p[values.indexOf(data.from_value)]);
}
});
}</code></pre> <br/>
Чтобы настроить плагин `ion.rangeSlider` так, чтобы символ `€` отображался только в определенных элементах (например, на ползунке и в начальных и конечных значениях), а не на шкале, вы можете использовать функцию `prettify` для форматирования значений, которые будут отображаться.
Вот как можно изменить ваш JavaScript-код, чтобы достичь этого:
```javascript
export function rangeSliderPrice() {
var $range = $(".js-range-slider-price");
var $result = $(".js-result-price");
var values = [1, 3, 6, 9, 12];
var values_p = ["1 month", "3 month", "6 month", "9 month", "12 month"];
$range.ionRangeSlider({
skin: "round",
type: "single",
grid: true,
values: values,
prettify: function (n) {
var ind = values.indexOf(n);
// Символ € добавляется только для ползунка
return values_p[ind] + " €";
},
onStart: function(data) {
$result.text(values_p[values.indexOf(data.from_value)] + " €");
},
onChange: function(data) {
$result.text(values_p[values.indexOf(data.from_value)] + " €");
}
});
}
```
### Объяснение изменениях:
1. **Функция `prettify`**:
- Теперь функция `prettify` добавляет символ `€` только в конечный текст для значений, которые отображаются на ползунке. Это сделано путем добавления ` + " €"` к возвращаемому значению.
2. **Места отображения**:
- При обновлении текста в `$result` (при событиях `onStart` и `onChange`) также добавляется символ `€`.
### Примечание:
- Шкала не будет отображать символ `€`. Она будет показывать только числовые значения, так как мы не изменяем контент для шкалы (по умолчанию `ion.rangeSlider` формирует шкалу без привязки к форматированию, установленному в `prettify`).
- Убедитесь, что в CSS также прописаны необходимые стили для отображения этого текста аккуратно, особенно если вы правили отображение других элементов.
С такими изменениями вы достигнете желаемого поведения, и символ `€` будет отображаться только в нужных местах.