按钮状态在jquery中的条件语句?

时间:2017-02-06 04:28:52

标签: javascript jquery html button

我是JQuery的新手。我想在我的脚本中添加一个条件语句,但我不确定按钮效果的语法。

,我不想这样做

如果" .save" = .show然后.hide" .donedit"

此脚本适用于表格,我不希望用户在未保存内容的情况下编辑字段时能够点击.donedit按钮。

现在.save按钮仅在用户编辑字段时显示,理想的功能是在显示.save按钮时灰显或隐藏donedit按钮。

以下是相关内容:

    $(document).ready(function(){

        //individual field edit buttons show as hidden     
        $(".edit").hide();
        $(".donedit").hide();


       //when the mass edit button is clicked in the header, the edit button 
       //will show for each field, the massedit button will hide showing the donedit button 

       $(".massedit").click(function(){
             $(".edit").show();
             $(".massedit").hide();
             $(".donedit").show();
        });

       //When the donedit button is clicked the massedit button shows and the
       // donedit button disappears 

       $(".donedit").click(function(){
             $(".edit").hide();
             $(".massedit").show();
             $(".donedit").hide();               
       });

   });

1 个答案:

答案 0 :(得分:0)

如果您正在使用show and hide,则可以执行

$(".save").css("display")

如果它返回"阻止"这意味着它当前正在显示,如果它返回"没有"那么它目前是隐藏的。所以你可以检查一下:

if ($(".save").css("display") != "none") {
  //donedit button code can run
}

这不是一个很好的方法,因为你要求DOM处理状态,而不仅仅是存储" .save"隐藏与否,但它可能是最简单的解决方案。

编辑:

如果你想要,你甚至可以抛出一个else语句并提醒用户他们试图在没有保存的情况下关闭编辑,或者使用确认,如果它返回true,那么让他们关闭而不保存

或者更好的是只需将代码更改为

if ($(".save").css("display") != "none" && confirm("Continue without saving")) {
  //donedit button code can run
}