Javascript 从同一函数返回在函数内部的事件处理程序中创建的值
我有一个输入框和一个go按钮。当用户单击go按钮时,我想将插入的值与另一个值进行比较。我试图在这样一个函数中获取输入值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 })
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我对你的代码做了一些修改。希望事情只能这样。我删除了一些我认为多余的代码。