【问题标题】:check if an option is selected before displaying the alert modal在显示警报模式之前检查是否选择了一个选项
【发布时间】:2014-03-28 09:39:11
【问题描述】:

我通过单击按钮删除(从选择标记中删除选项)通过 JavaScript 显示模式。我必须在显示警报模式之前检查是否选择了一个选项,但即使没有选择任何内容,我也找不到隐藏警报模式的方法

我使用了一个 JavaScript 函数来检查,但在检查警报模式后仍然出现

这是html代码:

<button  class="btn btn-danger" onclick="check()"  id="idButtonDelete" data-toggle="modal" data-target=".bs-example-modal-sm">delete</button>

<div id="idAlertModal" class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
<div class="modal-dialog modal-sm">
<div class="modal-content">
  ...
   </div>
  </div>
</div>

这是 onClick check() 函数的代码

function check(){

   if($("#select").val()==null){  //select id of the select tag 
    $(".bs-example-modal-sm" ).hide();

    alert("you should select an option first")


        return false;
                               }


}

【问题讨论】:

    标签: javascript jquery html twitter-bootstrap


    【解决方案1】:

    如果您的默认optionselect 如下所示:

    <option value="">Default Option</option>
    

    那么你可以使用:

    if($('#select').val() === '')
    

    代替:

    if($("#select").val()==null)
    

    你可以尝试使用:

    $('.modal').modal('hide');
    

    代替:

    $(".bs-example-modal-sm" ).hide();
    

    【讨论】:

    • 我使用了这个问题仍然存在,当我点击删除时,会显示警报(“你应该先选择一个选项”)(这意味着 if($("#select").val( )==null) 工作正常)但之后它显示警报模式我也想隐藏这个
    • 谢谢,我试过了,但问题仍然存在(仍然显示第二个警报)
    • 现在我不能,但我可以解释一下:我在此选择下选择了一些选项,当我没有选择一个选项并单击删除按钮时,我有一个删除按钮显示警报(“您应该先选择一个选项”),然后显示模式的警报,这意味着 $(".bs-example-modal-sm" ).hide();对它不起作用
    • 可能是 data-toggle="modal" 属性的问题?它告诉通过按钮单击显示/隐藏模式。
    【解决方案2】:
    function verifyAreaSelected(){
    
       if($("#select option:selected" ).val()==''){  //select id of the select tag 
        $(".bs-example-modal-sm" ).hide();
        alert("you should select an option first");
            return false;
                 }
    
    
    }
    

    【讨论】:

      【解决方案3】:

      试试:

      $('.modal').modal('hide')
      

      【讨论】:

      • if($("#select").val()==null) 工作正常并显示警报(“您应该先选择一个选项”),但在此警报之后,警报模式是显示!它不会隐藏它
      • 所以问题出在 $(".bs-example-modal-sm" ).hide();行吗?
      • 是的,显然它不适用于模态或其他东西
      • 也许你正在使用一些额外的模态插件,它与你的代码冲突。请提供更多信息是这种情况。
      • 是的,我正在使用文件 bootstrap.js 和 bootstrap.min.js
      【解决方案4】:

      我找到了解决方案,如果选择了一个选项,我必须从按钮中删除属性 data-target=".bs-example-modal-sm" 并将其添加到 check() 函数中

      function check(){
      
      if($("#select").val()==null){  //select id of the select tag 
      
      
      alert("you should select an option first")
      
      
          return false;
      
         }else{
          $('#idButtonDelete').attr('data-target', '#idAlertModal');
      
          }
      
      
      }
      

      【讨论】:

        猜你喜欢
        • 2015-08-24
        • 2021-08-26
        • 1970-01-01
        • 2014-03-28
        • 1970-01-01
        • 2015-01-30
        • 2012-09-13
        • 2013-03-17
        • 2015-06-11
        相关资源
        最近更新 更多