jQuery:自定义函数doen';不回答

jQuery:自定义函数doen';不回答,jquery,function,Jquery,Function,我试图编写一个简单的验证函数。对于某些响应,我无法获取返回布尔值的函数。现在我点击提交根本没有得到任何回应 $.fn.ValidateSelect = function() { //function ValidateSelect() { (this works) var selected = $('select[name="my-item-size"]').val(); var validate = false; if (selected != 'none') {

我试图编写一个简单的验证函数。对于某些响应,我无法获取返回布尔值的函数。现在我点击提交根本没有得到任何回应

$.fn.ValidateSelect = function() {
//function ValidateSelect() { (this works)

    var selected = $('select[name="my-item-size"]').val();

    var validate = false;

    if (selected != 'none') {               
        validate = true;    
    } else {
        validate = false;
    }

    if (validate == true) {             
        return true
    } else {
        return false
    }
};


//submit
$('.add_item_button').click(function() {    

    if (ValidateSelect() == true) {
        $('#item_submit').submit();
    } else {
        alert('Please select your brand first.')
}

});

我相信它应该是$.ValidateSelect()==true。单独调用ValidateSelect意味着它是一个变量,而不是这里特别提到的函数

此外,我认为将它放在jQuery之外的常规函数中可能更有意义(至少看起来是这样)


干杯

您需要实际调用函数:-

$('.add_item_button').click(function() {    

    if (ValidateSelect() == true) {
        $('#item_submit').submit();
    } else {
        alert('Please select your brand first.')
}

您不需要jQuery扩展,只需要一个javascript函数

 function ValidateSelect() {

    var selected = $('select[name="my-item-size"]').val();

    var validate = false;

    if (selected != 'none') {               
        validate = true;    
    } else {
        validate = false;
    }

    if (validate == true) {             
        return true
    } else {
        return false
    }
};


//submit
$('.add_item_button').click(function() {    

    if (ValidateSelect() == true) {
        $('#item_submit').submit();
    } else {
        alert('Please select your brand first.')
}

});

您没有调用该函数
ValidateSelect
是一个变量名,将
未定义
。如果像这样扩展jQuery,最好使用
$(选择器).ValidateSelect()
调用它。但也许一个简单的,正规的函数就足够了,我现在把它变成了一个正规的函数,它可以工作了。