如何在jquery中创建函数并重用它们

时间:2014-06-20 10:31:11

标签: javascript php jquery html reusability

我已获得以下代码

if(!$rta_cl_fn.length > 0){
    formSubmit = false;
    $('#div_cl_fn').addClass('has-error');
}else{
    $('#div_cl_fn').removeClass('has-error');
}

if(!$rta_cl_ln.length > 0){
    formSubmit = false;
    $('#div_cl_ln').addClass('has-error');
}else{
    $('#div_cl_ln').removeClass('has-error');
}

if(!$rta_cl_mn.length > 0){
    formSubmit = false;
    $('#div_cl_mn').addClass('has-error');
}else{
    $('#div_cl_mn').removeClass('has-error');
}

然后加载更多我只想创建一个函数,所以我只是调用函数而不是一次又一次地使用if语句

我曾多次问过,但似乎没有人理解我想要的东西......我可以告诉你我在下面用php格式看什么

public function functionName($var1, $var2){

    $formSubmit = true;

    if(!$var1.length > 0){
        formSubmit = false;
        $var2.addClass('has-error');
    }else{
        $var2.removeClass('has-error');
    }

    return formSubmit;
}

如果您需要更清晰,请询问

html在

之下
<div class="row">
    <div class="col-md-3">
        <div class="form-group">
            <label class="control-label">First Name <span class="required" aria-required="true" > * </span></label>
            <input type="text" name="rta_cl_fn" id="rta_cl_fn" class="form-control input-sm">
        </div>
    </div>
    <div class="col-md-5">
        <div class="form-group" id="div_cl_fn">
            <label class="control-label">Middle Name <span class="required" aria-required="true" > * </span></label>
            <input type="text" name="rta_cl_mn" id="rta_cl_mn" class="form-control input-sm">
        </div>
    </div>
    <div class="col-md-4">
        <div class="form-group" id="div_cl_ln">
            <label class="control-label">Last Name<span class="required" aria-required="true" > *</span></label>
            <input type="text" name="rta_cl_ln" id="rta_cl_ln" class="form-control input-sm">
            <span class="help-block"></span>
        </div>
    </div>
</div>

我的问题是如何在jQuery中声明/创建函数并在代码中使用它们。

此致

6 个答案:

答案 0 :(得分:2)

以下是使用jQuery

创建可重用函数的方法
(function($) {
    $.fn.functionName = function (var1, var2) {
            var formSubmit = true;

        if(!var1.length > 0){
            formSubmit = false;
            var2.addClass('has-error');
        }else{
            var2.removeClass('has-error');
        }

        return formSubmit;
        }
    };
  }(jQuery));

USAGE

console.log($(".form-group").functionName('param1', 'param2'));

一种非常简单的方法是使用var来声明你的函数。

var myReusableFunction = function(var1, var2){
        var formSubmit = true;

        if(!var1.length > 0){
            formSubmit = false;
            var2.addClass('has-error');
        }else{
            var2.removeClass('has-error');
        }

        return formSubmit;
};

USAGE

你可以调用此函数类似于普通的javascript函数

console.log(myReusableFunction('param1', 'param2'));

选中此tutorial

希望这有帮助。

答案 1 :(得分:1)

你的PHP模型,不是真正的PHP代码,但我想我明白了。你在将它转换为JS时遇到了问题。

function isValid(test_obj, element){
  if(test_obj.length == 0){
    element.addClass('has-error');
    return false;
  } else {
    element.removeClass('has-error');
    return true;
  }
}

然后调用该函数将如下所示:

var form_submit = isValid($('#rta_cl_fn'), $('#div_cl_fn'));
if (form_submit) {
  form_submit = isValid($('#rta_cl_ln'), $('#div_cl_ln'));
  if (form_submit) {
    form_submit = isValid($('#rta_cl_mn'), $('#div_cl_mn'));
  }
}

if (form_submit) {
  //Submit form
} //else, an error along the way

答案 2 :(得分:1)

在JS中声明函数如下:

function functionName(var1, var2){

    var formSubmit = true;

    if(!var1.length > 0){
        formSubmit = false;
        var2.addClass('has-error');
    }else{
        var2.removeClass('has-error');
    }

    return formSubmit;
}

在你的任何地方使用它JS:

functionName($('#rta_cl_fn'), $('#div_cl_fn'));

答案 3 :(得分:1)

public function functionName (items, elem)
{
    var formSubmit = !items.length;
    elem.toggleClass('has-error', !formSubmit);
    return formSubmit;
}

答案 4 :(得分:1)

$(document).ready(function({
    var myVariable = functionName(1,$("#myElement"));
    alert(myVariable)
});


function functionName(var1, var2){
    if(!var1.length > 0){
        var2.addClass('has-error');
        return false;
    }else{
        var2.removeClass('has-error');
        return true;
    }
}


You can use it

答案 5 :(得分:0)

您的函数在Javascript / jQuery中看起来像这样,假设参数是jQuery对象:

function functionName(var1, var2){
    if(!var1.length > 0){
        var2.addClass('has-error');
        return false;
    }else{
        var2.removeClass('has-error');
        return true;
    }
}

我删除了返回变量,因为在函数中没有必要 - 您必须查看函数调用的返回值以测试是否发生任何错误。