我有两个独立的js文件。其中之一,名为services
,我在其中定义输入字段并使用它运行一些jQuery。另一个文件调用services
并使用返回的值。
如果我使用函数中的值(在services
中),它将返回正确的值。否则,在我的secound文件中,它确实返回undefined,因为看起来,如果我调用该函数,它不会等到.change
事件被触发
Services.js
var service = {
main: function() {
console.log(service.input);
},
init: function( input ) {
service.input = input;
},
getInputValue: function() {
$('#' + service.input).change(function() {
return $('#' + service.input).val();
});
}
};
OtherJsFile.js
$(function(){
var inputField;
service.init('inputId');
inputField = service.getInputValue();
//Should print the value of inputId
//Instead it prints undefined
console.log(inputField);
});
我感谢任何帮助!
答案 0 :(得分:0)
一个问题是你在更改处理程序中返回的内容只返回到事件处理函数,而不是返回到外部getInputValue
。所以没有从getInputValue()
返回任何内容......这就是为什么你看到未定义的内容。
下一个问题是当您尝试获取该值时,事件尚未发生。
说实话,我不确定你要在这里完成什么