我有这个功能:
function validateVip(){
$("table[id=table-pss] tbody tr").each(function() {
var keval = $(this.cells[4]).find('input');
var data = $(keval[0]).val();
console.log("result: " + data);
console.log(data.includes([vip]));
var x;
if ((data.includes([vip])) == true)
{
x = "yay";
console.log("Vip Exists");
}
else
{
x = "nay";
console.log("No VIP");
}
return x;
});
}
每当我调用它时,它总是返回“ undefined”。
这是我如何调用函数validateVip
:
var isVip = validateVip();
console.log("is vip:" + isVip);
有人可以告诉我我做错了什么吗?
谢谢。
答案 0 :(得分:1)
x的值由传递给$().each
的回调返回,该回调不执行任何操作
您需要在上限范围内定义变量x
:
function validateVip() {
var x;
$("table[id=table-pss] tbody tr").each(function() {
var keval = $(this.cells[4]).find('input');
var data = $(keval[0]).val();
console.log("result: " + data);
console.log(data.includes([vip]));
if ((data.includes([vip])) == true) {
x = "yay";
console.log("Vip Exists");
} else {
x = "nay";
console.log("No VIP");
}
});
return x;
}
请注意,x
等于上一次分配的项目,使用each
进行迭代