首页 > 解决方案 > 如何将不同时间收集的两个不同输入关联起来,并在需要时召回它们?

问题描述

我想以整数的形式绑定两个不同的输入,在按钮单击事件上收集,并想回调它们!但我被卡住了,看看我的代码:

$(function (){
var j;
$("#first").on("click" , function (){
j++;
});
$("#second").on("click" , function (){
var d = new Date();
var dhou = d.getHours();
var dmin = d.getMinutes();
var dsec = d.getSeconds();
var dtotal = dhou+dmin+dsec;
});
$("#third").on("click" , function (){
//I want to recall here both dtotal and j variable together collected in different times, like in the form (dtotal , j) = (72000,1) , (72809,2) , (73578 ,3) and so on...
});
});

请阅读内部代码中的注释#third ID

标签: jquerystringdata-binding

解决方案


您需要在两个函数之外声明变量,在它们都可以访问的范围内。您已经为该 j 变量完成了该操作,因此它在第三个事件中可供您使用,但您尚未声明外部第二个事件中的变量,因此您不能使用它们。一旦您声明,您的问题将得到解决它们在这两个功能之外..

$(function (){
var j=0;
var d = "";
var dhou = "";
var dmin = "";
var dsec = "";
var dtotal = "";
$("#first").on("click" , function (){
j++;
});
$("#second").on("click" , function (){
d = new Date();
dhou = d.getHours();
dmin = d.getMinutes();
dsec = d.getSeconds();
dtotal = dhou+"-"+dmin+"-"+dsec;
});
$("#third").on("click" , function (){
$("#result").append("<br/>"+dtotal +","+ j);
});
});
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
    
<button id="first">one</button>
<button id="second">two</button>
<button id="third">three</button>

</br>

<p id="result"></p>
</body>
</html>


推荐阅读