我正在尝试连接this demo的两个选择选项列表结果的val()
,但我没有得到任何结果!我第一次尝试:
var res = senselectval+kwselectval;
$("#sum").on("click",function(){
alert(res);
});
我在结果中得到NaN
然后我尝试了:
var res = senselectval.concat(kwselectval);
$("#sum").on("click",function(){
alert(res);
});
现在我得到了Uncaught TypeError: Cannot call method 'concat' of undefined
你可以告诉我为什么会这样,以及如何解决这个问题?
由于
答案 0 :(得分:2)
当第一次运行脚本时,senselectval
和kwselectval
都未定义时执行此行...
var res = senselectval+kwselectval;
尝试在点击事件中移动连接...
var res;
$("#sum").on("click",function(){
res = senselectval + kwselectval;
alert(res);
});
答案 1 :(得分:1)
您需要将concat
行放在按钮的click
事件中,否则会在页面加载时执行,此时senselectval
为{ {1}}如此concat方法抛出null
。
而不是:
exception
这样做:
var res = senselectval.concat(kwselectval);
$("#sum").on("click",function(){
alert(res);
});
这是更新的脚本:
$("#sum").on("click",function(){
var res = senselectval.concat(kwselectval);
alert(res);
});
答案 2 :(得分:0)
你需要使用事件委托方法并将res变量值放在click函数中@Anthony Chu:
//res = senselectval + kwselectval; // not here
$(document).on("click","#sum",function(){
res = senselectval + kwselectval;
alert(res);
});
答案 3 :(得分:0)
变化:
var senselectval;
var kwselectval;
到大于
var senselectval="";
var kwselectval="";
只定义两者;