Установить входное целочисленное значение по отношению к другому целочисленному входному значению для выполнения поиска - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь создать фильтр поиска, который позволит мне искать товары в моем магазине. Итак, у меня есть 2 входа, и я хочу иметь возможность делать следующее.

  1. Если моя минимальная цена пуста, тогда верните 0 в качестве значения для выполнения поиска
  2. Если максимальная цена ниже минимальной цены, измените ввод максимальной цены на минимальную цену + 1 для выполнения поиска
  3. Если максимальная цена пуста, верните бесконечное значение (или действительно большое число, например 1000000) для выполнения поиска

Я пытался создать следующий сценарий, но он не работал. Так что я не уверен, что делаю не так.

Я обновил скрипт с помощью @Craicerjack, но он все равно не работает.

Это html со скриптом.

Большое спасибо, что нашли время мне помочь !!

<form method="get" action="https://magiccarpets.online/shop/" target="_self">
  <div class="custom_range_widget">
    <input type="number" name="min_price" min="0" max="50000" placeholder="Min." contenteditable="true" id="minprice" />
    <input type="number" name="max_price" min="0" max="50000" placeholder="Max." contenteditable="true" id="maxprice" />

    <script>
      function  PriceRange() {
        var max = document.getElementById("maxprice"),
        min = document.getElementById("minprice");

        if (min == "") {
          (int)document.getElementById("minprice").value = 0;
        }

        if (parseInt(max) <= parseInt(min){
          (int)document.getElementById("maxprice").value = ((int)document.getElementById("minprice").innerHTML + (int)1);
        }

        if (max == "") {
          (int)document.getElementById("maxprice").value = 1000000;
        }
      }
    </script>
  </div>
  <button type="submit" class="button">Filter</button>
</form>

1 Ответ

0 голосов
/ 01 июня 2020

Думаю, вам следует заменить innerHTML на value во втором if.

function PriceRange() {
    var max = document.getElementById("maxprice").value,
        min = document.getElementById("minprice").value;

    if (min == "") {
      document.getElementById("minprice").value = 0;
    }

    if (parseInt(max) <= parseInt(min)) {
        document.getElementById("maxprice").value = Number(document.getElementById("minprice").value) + 1;
    }

    if (max == "") {
      document.getElementById("maxprice").value = 1000000;
    }
}
...