关于连接两个选择选项的问题val()使用jQuery

时间:2014-04-23 05:20:49

标签: javascript jquery

我正在尝试连接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你可以告诉我为什么会这样,以及如何解决这个问题?

由于

4 个答案:

答案 0 :(得分:2)

当第一次运行脚本时,senselectvalkwselectval都未定义时执行此行...

var res = senselectval+kwselectval;

尝试在点击事件中移动连接...

var res;

$("#sum").on("click",function(){
    res = senselectval + kwselectval;
    alert(res);
});

JsFiddle

答案 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);
    });

HERE is Fiddle DEMO

答案 2 :(得分:0)

你需要使用事件委托方法并将res变量值放在click函数中@Anthony Chu:

//res = senselectval + kwselectval; // not here
$(document).on("click","#sum",function(){
  res = senselectval + kwselectval;
  alert(res);
});

updated fiddle

答案 3 :(得分:0)

变化:

 var senselectval;
    var kwselectval;

到大于

var senselectval="";
var kwselectval="";

只定义两者;