我想将“passedThisValue”传递给我的“start_battle”函数,并在“Rematch”中使用“start_battle”函数。但模式只是挂起为什么会发生这种情况?什么可能是错的?请帮忙! :)谢谢。
CODE:
function start_battle(){
$.ajax({
data: {
receivePassedValue: passedThisValue
},
success: function(data){
}
});
}
$("#start_battle").click(function() {
$.ajax({
success: function(data){
var toAppend = '';
if(typeof data === "object"){
var passedThisValue = '';
for(var i=0;i<data.length;i++){
passedThisValue = data[i]['thisValue'];
}
start_battle(); // can I still get the passedThisValue?
}
}
});
$("#battle").dialog({
modal:true,
buttons: {
"Rematch": function(){
start_battle(); // can I still get the passedThisValue?
}
}
});
$("#battle").show(500);
});
答案 0 :(得分:2)
当您致电某个功能时,您不使用function start_battle();
,只需使用start_battle();
。
将值传递给函数时,需要使用以下语法:start_battle(param1, param2);
。
当你想从函数中获取一个值时,需要在函数中返回它,如下所示:
function start_battle(param1) {
// Do something
return param1;
}
如果要存储函数的返回值,可以执行以下操作:var returned = start_battle(param1);
而且你不知道为什么modal会挂起的事实意味着你没有检查浏览器的错误控制台,这可以包含一些关于错误的非常重要的信息。尝试检查并在此处发布,以便我们可以看到当前的问题
答案 1 :(得分:1)
你的功能声明似乎有些偏差。我认为你应该从$
开始function
。就这样做
function start_battle() {
此外,当您调用某个函数时,您不会在它之前说function
。如果要将值传递给函数,则必须在定义函数和调用函数时将其放在括号内。喜欢这个
function start_battle(someValue) {
// do some stuff with someValue
}
// inside your .click, call start_battle like this
start_battle(passedThisValue);
非常基本的东西。但是这些问题中的任何一个都可能导致挂起,这可能是一个javascript错误。