Обновление текста с помощью слайдера jquery ui

0

Я использую ползунок jquery ui для отображения значений рядом с текстом, но мне нужен текст для обновления между сингулярным и множественным числом в зависимости от значения ползунка. На данный момент текст статичен, поэтому он может отображать "1 Ванные комнаты" вместо "1 Ванная комната". В любом случае я могу заменить этот текст в зависимости от значения ползунка?

Я смог выполнить это с помощью этого оператора switch, но по какой-то причине он нарушает макет моей страницы, и мне требуется объявить случай для КАЖДОГО значения. Оператор switch ниже, а оригинальный нетронутый код еще ниже:

  $( ".bedSlider" ).on( "slide", function( event, ui ){

    switch (ui.values[0]) {
      case 0:
         $( ".bed1" ).replaceWith('<div class="bed1 left-search">' + ui.values[0] + ' Bedroom');
         break;
      case 1:
         $( ".bed1" ).replaceWith('<div class="bed1 left-search">' + ui.values[0] + ' Bedroom');
         break;
      case 2:
        $( ".bed1" ).replaceWith('<div class="bed1 left-search">' + ui.values[0] + ' Bedrooms');
        break;
      case 3:
        $( ".bed1" ).replaceWith('<div class="bed1 left-search">' + ui.values[0] + ' Bedrooms');
        break;   
      case 4:
        $( ".bed1" ).replaceWith('<div class="bed1 left-search">' + ui.values[0] + ' Bedrooms');
        break; 
    }

    switch (ui.values[1]) {
      case 0:
         $( ".bed2" ).replaceWith('<div class="bed2 left-search">' + ui.values[1] + ' Bedroom');
         break;
      case 1:
         $( ".bed2" ).replaceWith('<div class="bed2 left-search">' + ui.values[1] + ' Bedroom');
         break;
      case 2:
        $( ".bed2" ).replaceWith('<div class="bed2 left-search">' + ui.values[1] + ' Bedrooms');
        break;
      case 3:
        $( ".bed2" ).replaceWith('<div class="bed2 left-search">' + ui.values[1] + ' Bedrooms');
        break;   
      case 4:
        $( ".bed2" ).replaceWith('<div class="bed2 left-search">' + ui.values[1] + ' Bedrooms');
        break; 
    }

  });

оригинал

  $( ".bedSlider" ).slider({
    range: true,
    min: 0,
    max: 5,
    values: [ 1, 4 ],
  });

  $( ".bedSlider" ).on( "slide", function( event, ui ){
    $( ".bed1" ).replaceWith('<div class="bed1 left-search">' + ui.values[0] + ' Bedroom');
    $( ".bed2" ).replaceWith('<div class="bed2 right-search">' + ui.values[1] + ' Bedrooms');
  });

HTML

        <div class="slider-options clearfix">
            <div class="bed1 left-search"><span>1 Bedroom</span></div>
            <div class="bed2 right-search"><span>4 Bedrooms</span></div>
        </div>

        <div class="slide-bg">
        <div class="slide-wrap bedSlider"></div>
        </div>
Теги:
jquery-ui-slider

1 ответ

0
Лучший ответ

Может быть, что-то вроде этого:

$( ".bed1" ).replaceWith('<div class="bed1 left-search">' + ui.values[0] + ' Bedroom' + (ui.values[0] == 1 ? '' : 's'));
$( ".bed2" ).replaceWith('<div class="bed2 right-search">' + ui.values[1] + ' Bedroom'  + (ui.values[1] == 1 ? '' : 's'));
  • 0
    Это сделал это! Спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню