我创建了一个返回true和false的原型方法。问题是它没有返回值。我知道它到达了语句,因为我在条件满足时使用了console.log()但没有返回值。
我似乎无法弄清楚这一点。如果有人可以帮助我,我会非常感激。以下是我的代码
function Validation(){
this.checkRequired = function(){
$(".modifiers-group-cont").each(function(){
var select_opt_notify = $(this).find(".select-option-notify");
/*The radio buttons that are required are always going to be marked check,thats why we are only
* checking for the checkbox*/
if($(this).attr("data-is-checked") == "false" && $(this).attr("data-input-type") == "checkbox"){
select_opt_notify.show();
return false;
} else {
select_opt_notify.hide();
return "true";
}
});
}
function ModifierPost(){
(function(){
$("#add-to-cart").click(function(){
console.log(validation.constructor); //Shows undefined
if(validation.checkRequired()){
$.post("#",$("form").serialize()+ "&item_id=" + item_id);
}
});
})();
}
答案 0 :(得分:2)
return
语句属于each
中的函数:
$(".modifiers-group-cont").each(function(){
您需要公开您希望返回到外部范围的值,并在调用return
之后调用each
。< / p>
答案 1 :(得分:0)
您已使用Capital V创建了您的函数,并在验证函数名称中使用Smaill v进行调用 这就是它给你未定义你在代码中提到的地方的原因。
MOD123|
它应该与Capital V一样
console.log(validation.constructor); //Shows undefined
if(validation.checkRequired()){