Jquery 多次选择的返回值
我正在尝试基于在几个多个选择框中选择的选项构建一个表(使用sql)。以下是我的javascript/jquery代码:Jquery 多次选择的返回值,jquery,html,Jquery,Html,我正在尝试基于在几个多个选择框中选择的选项构建一个表(使用sql)。以下是我的javascript/jquery代码: function make_table(whichButton) { console.log("Whichbotton = " + whichButton); //var prog = $("#program option:selected").val().join(" "); var prog = $(
function make_table(whichButton)
{
console.log("Whichbotton = " + whichButton);
//var prog = $("#program option:selected").val().join(" ");
var prog = $("#program").val() || [];
console.log("prog first= " + prog);
prog = prog.join(" ");
console.log("prog second= " + prog);
var sch = $("#school").val() || [];
sch = sch.join(" ");
var trm = $("#term").val() || [];
trm = trm.join(" ");
var ext = $("#extension").val() || [];
ext = ext.join(" ");
我的理解是val()获取所有选择的数组,join函数返回一个字符串,用分隔符分隔值。但有些事情不对劲。console.log说,即使在我进行了连接之后,变量prog也没有值(或者只是空白)。怎么了
此外,我将每个变量编码为等于.val()| |[];。。。我这样做是因为jquery站点上的示例就是这样做的。但这意味着什么?jquery规范指出,如果数组为空,那么它会将null作为默认值,那么| |[]是什么意思?这是一种设置默认值的方法,称为:
因此,
[].join(“”;//等于“”||[]意味着如果val返回null,则选择一个空数组作为元素
其含义与:
if ($("#term").val() == null){
trm = []
}
else{
trm = $("#term").val();
}
至于您的问题,您需要确保val()正确返回。尝试记录$(“#term”).val(),看看它是否返回了您期望的结果。如果是,您知道您在其他地方做错了什么,尽管我没有立即看到任何东西我不明白,变量“something”何时会等于defalt值?为什么它不等于“null”?既然null在JavaScript中是假的,false或something
将始终是something
,感谢您的解释。但我仍然有问题,做你说的日志仍然会给我空白的回报…所以你需要仔细检查你的html。也许你在页面上有多个相同的ID?
if ($("#term").val() == null){
trm = []
}
else{
trm = $("#term").val();
}