Как передать пользовательский ввод в jquery .click, используя eventdata? - PullRequest
0 голосов
/ 03 сентября 2018

Имеют две кнопки, которые используют jQuery .click для активации функции. В функцию передается целочисленный параметр, поэтому в настоящее время одна кнопка передает 3, а другая - 4 в функцию sort(). В идеале я хотел бы, чтобы пользователь вводил любое целое число, которое ему нравится, а затем имел бы только одну кнопку, которая использует .click. Пользовательский ввод может быть выпадающим или ручным. Для меня это звучит как форма, но я не знаю, как собрать форму и .click вместе. Я все еще новичок в этом, так что, возможно, это довольно простая форма GET, которая может работать с .click?

Мой текущий код включает в себя:

<button class="btn btn-warning" type="submit" id="freeze3">&raquo; Random Groups 3</button>
<button class="btn btn-warning" type="submit" id="freeze4">&raquo; Random Groups 4</button>

$( "#freeze3" ).click(function() {
    if (moving == true) {
        clearInterval(interval);
        setTimeout(sort(3), 1000);
    }
    moving = false;
});

$( "#freeze4" ).click(function() {
    if (moving == true) {
        clearInterval(interval);
        setTimeout(sort(4), 1000);
    }
    moving = false;
});

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

Не нужно никакой формы, просто два входа, такие как input type=number и button (которые у вас есть):

$("button").on("click", function() {
  let groupNumber = $("#groups").val();
  
  console.log("Random Group", groupNumber);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label for="groups">Random Groups</label>
<input type="number" id="groups">
<button>Apply</button>

Это можно сделать и с помощью ввода select.

0 голосов
/ 03 сентября 2018

Вы можете использовать что-либо в качестве базового или обычного ввода текста, выбора или числового ввода. Используя простой текстовый ввод, вы можете сделать следующее, используя this.value, чтобы получить ввод, который вводит пользователь:

$( "#myInput" ).change(function() {
    if (moving == true) {
        clearInterval(interval);
        setTimeout(sort( this.value ), 1000);
    }
    moving = false;
});

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...