用于调用方法的条件运算符

时间:2016-05-12 04:12:16

标签: javascript jquery click conditional-operator

如果条件失败,我需要调用一个函数,如果它是真的则不需要做任何事情。

@using (Html.BeginForm(new { enctype = "multipart/form-data" }))
{
    <input type="text" id="companyname" name="companyname" />
    <input type="text" id="country" name="country" />
   @(Html.Kendo().Upload().Name("file")
                            .Multiple(true).TemplateId("fileTemplate")
                            .Async(a => a.Save("LibraryFileSave", "Library")
                            .AutoUpload(true))
                            .Events(m => m.Upload("onUpload"))
                            )
    <input type="button" id="btnsubmit"  value="test"/>
}

我不能在这里使用返回。怎么做到这一点?

4 个答案:

答案 0 :(得分:1)

$(this).hasClass("name")将返回一个布尔值&amp;你也不需要明确地返回true。如果您的情况不符合,您可以使用:(or)来调用该功能

//$('body').addClass("name")
    $('body').click(function (e) {
        ($(this).hasClass("name")) ==true ? 1 : checkforemail();
    });


function checkforemail(){
alert("Hello");
}

选中此jsFiddle

注意:在jsfiddle un comment $('body').addClass("name")中。单击正文将调用函数

答案 1 :(得分:0)

使用if

$('body').click(function (e) {
    if (!$(this).hasClass("name")) {checkforemail();}
});

答案 2 :(得分:0)

您可以使用.is()AND运算符&&

!$(this).is(".name") && checkforemail();

答案 3 :(得分:0)

你不能在ternary中使用return语句!但如果你想返回语句,请尝试如下。

$('body').click(function (e) {
    var status = ($(this).hasClass("name")) ? true : false;
    return status;
});

或者如果你只想打电话给你的方法

$('body').click(function (e) {
    if(!$(this).hasClass("name")){
            checkforemail();
    }
});