如何使用事件数据将用户输入传递给jquery .click?

时间:2018-09-03 17:17:46

标签: jquery forms

有两个按钮,这些按钮使用jQuery的.click激活功能。该函数传递了一个整数参数,因此当前一个按钮传递了3,一个按钮传递了4到函数sort()。理想情况下,我希望用户输入他们喜欢的任何整数,然后只有一个使用.click的按钮。用户输入可以是下拉选择器,也可以是手动输入。在我看来,这听起来像是一种表单,但是我不知道如何将表单和.click结合在一起。我仍然是一个初学者,所以也许这是一个可以与.click一起使用的相当简单的GET表单?

我当前的代码包括:

<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 :(得分:1)

您可以将常规文本输入,选择或数字输入用作基本输入。使用纯文本输入,您可以执行以下操作,使用this.value获取用户输入的输入:

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

当然,您还需要进行一些基本验证,以确保他们输入的内容有效。还要注意,我正在使用change事件,但是您也可以使用blur。或者,您可以有一个文本输入和一个按钮,使用该按钮在单击时触发功能。

答案 1 :(得分:1)

不需要任何形式,只需输入两个input type=numberbutton(您已经拥有了):

$("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输入来完成。