jQuery:自定义函数没有响应

时间:2011-10-25 11:13:38

标签: jquery function

我想写一个简单的验证函数。对于某些响应,我无法获得返回布尔值的函数。目前我没有得到点击提交的答复。

$.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.')
}

});

3 个答案:

答案 0 :(得分:2)

您不需要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.')
}

});

答案 1 :(得分:0)

我认为它应该是$ .ValidateSelect()== true。单独调用ValidateSelect将意味着它是一个变量,而不是具体的函数。

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

干杯

答案 2 :(得分:0)

您需要实际调用该函数: -

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

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