Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从同一函数返回在函数内部的事件处理程序中创建的值_Javascript_Jquery_Events - Fatal编程技术网

Javascript 从同一函数返回在函数内部的事件处理程序中创建的值

Javascript 从同一函数返回在函数内部的事件处理程序中创建的值,javascript,jquery,events,Javascript,Jquery,Events,我有一个输入框和一个go按钮。当用户单击go按钮时,我想将插入的值与另一个值进行比较。我试图在这样一个函数中获取输入值 function getInput(){ var entry =''; $('button.go').on('click',function(){ var entry = $(this).siblings('.input').val(); //return entry })

我有一个输入框和一个go按钮。当用户单击go按钮时,我想将插入的值与另一个值进行比较。我试图在这样一个函数中获取输入值

function getInput(){
        var entry ='';
        $('button.go').on('click',function(){
            var entry = $(this).siblings('.input').val();
            //return entry
        })
        return entry


}
基本上,我希望返回具有输入值的var条目,以便稍后在代码中比较这些值

var input = getInput() // this should have input value
is input > othervalue

我在document.ready()中调用getInput,我建议声明您的
var条目=“”并在比较之前分配它

var entry="";
$('button.go').on('click',function(){
     entry = $(this).siblings('.input').val();
});
//do the comparing..

您应该在委托单击函数后,在函数内部进行比较

var entry = "";
$('button.go').on('click', function(){
     var entry = $(this).prev('.input').val();
     if (entry < x)
         // Do something
});
var条目=”;
$('button.go')。在('click',function()上{
var entry=$(this.prev('.input').val();
如果(条目
我还不清楚您想要完成什么

我做了一些代码,可能在你想要的地方

jQuery().ready(函数())
{
var startValue=$('input[name=“the_input”]”)。val();
$('form')。提交(函数()
{
var currentValue=$('input[name=“the_input”]”)。val();
$('body').append('
'+startValue+'-'+currentValue+'='+(startValue-currentValue)); }); });



你做的每件事都是对的。有些与范围相关的问题无法帮助您获得预期的结果。我的建议是将
othervalue
变量定义为全局变量,并在函数内部进行如下检查

function getInput(){       
    $('button.go').on('click',function(){
       var entry = $(this).siblings('.input').val();     
        if(entry>othervalue) //your code     
    });     
}

我不知道为什么要在函数中绑定动态
单击
事件。如果除了此部分,您无需在此处执行其他操作,请将此代码包装到
文档中。准备好了

请也添加您的HTML!我是动态的。它只是一个输入和一个按钮<代码>$container.append(“”).append('GO')
是的。这也是需要的
:)
您确实了解
$('button.go')。on('click')
是将click事件绑定到元素吗?回调函数仅在单击
按钮.go
时执行。这可能是你调用
getInput()
之后的一段时间。嗨,我试着写下为什么我认为这对我不起作用,但我很难解释自己。我认为这与在document.ready中包装某些部分有关,因为对于您的代码片段,我应该将代码包装在document.ready中,以便它能够找到元素。我想我应该把所有与dom相关的东西分开。我想让你帮我把与代码相关的部分组合起来,就是
函数getInput()
函数compare()
@user2537537刚刚检查了你的小提琴。保持简单。您到底想做什么?代码将随机数相加,然后检查结果是否与用户输入相同。这将是代码的一小部分,我将添加乘法,并找到百分比。我想知道您是否可以查看此注释中的小提琴。它的代码不是很好,但它只是在屏幕上显示随机数,将它们相加,并将它们与用户输入进行比较。我不知道您的代码片段是否适用于我,因为我想尝试使用一个比较函数,将返回值(条目)与加法函数中的值进行比较。如何执行类似于
function compare()的操作{
在fiddle中,是否可以从函数中的事件返回值?@user2537537我对你的代码做了一些修改。希望事情只能这样。我删除了一些我认为多余的代码。