【问题标题】:jQuery noobie can't make a checked checkbox show an alertjQuery noobie 无法使选中的复选框显示警报
【发布时间】:2010-04-26 07:56:15
【问题描述】:

我之前找到了这个答案,如果按下按钮但未选中复选框,则会触发警报。

为什么这不起作用?

我有这个想法

<script src="http://code.jquery.com/jquery-latest.js"></script>

在正文中:

<input value="1"  type="checkbox" name="salgsvilkar" ID="checkbox2"  style="float:left;"
       onclick="document.getElementById('scrollwrap').style.cssText='border-color:#85c222; background-color:#E5F7C7;';" /><label for="checkbox2" class="akslabel">Salgs og leveringsvilkår er lest og akseptert</label>
        </span>

         {literal}
            <script type="text/javascript">
$(function() {
   //checkbox
   $("#checkbox2").click(function(){
       //if this...
       //alert("this")...
       if($("#checkbox2").is(':checked'))
       {              
          alert("im checked");
       }
   });
   //button
   $("#fullfor_btn").click(function(e){
       if(!$("#checkbox2").is(':checked'))
       {
           alert("you did not check the agree to terms..."); 
           e.preventDefault();
       }
   });
 }
</script>
  {/literal}

这在另一个 .tpl 上:

<label></label>
        <button type="submit" class="submit" name="{$method}" id="fullfor_btn" title="Fullfør bestillingen nå" value="">&nbsp;</button>

可能出了什么问题? jQuery 根本不会触发任何东西。

更新 id 项已更改为 checkbox2,仍然没有任何反应。

【问题讨论】:

    标签: jquery html checkbox


    【解决方案1】:

    您的复选框的 id 为“checkbox2”,但您正尝试在按钮的点击处理程序中使用 id“terms”来访问它。

    更新

    您缺少$(function(){...}) 调用的右括号。这会在页面加载时引发语法错误,并且脚本块中的代码永远不会运行。将脚本块中的最后一行更改为:

    }
    

    到:

    });
    

    我已经测试了这个更改的代码,它工作正常。

    【讨论】:

      【解决方案2】:

      试试这个:

      $(document).ready(function() {
        $("#checkbox2").click(function() {
          if ($(this).attr("checked")) {
            alert("im checked");
          }
        });
      
        $("#fullfor_btn").click(function(e) {
          if ($("#checkbox2").attr("checked") == false) {
            alert("you did not check the agree to terms..."); 
            e.preventDefault();
          }
        });
      });
      

      【讨论】:

        【解决方案3】:

        如果按钮是触发警报 按下但复选框不是 检查。

        如果你按下了这个复选框,但正如你上面所说的那样未选中,试试这个:

         $("#checkbox2").click(function(){
           if($("#checkbox2").is(':checked') == false)
           {              
              alert("im checked");
           }
         });
        

        .

        根据评论更新:

        要在选中时显示警报,您可以简单地执行以下操作:

         $("#checkbox2").click(function(){
           if($("#checkbox2").is(':checked'))
           {              
              alert("im checked");
           }
         });
        

        同样从您的代码来看,您似乎在末尾缺少);

        $(function()
        

        【讨论】:

        • 谢谢,我是 jQuery 的新手,但也有一些人说如果它被选中,显示一个警报..但这也不会发生。
        • @Kyle Sevenoaks:你最后缺少);,请看我的asnwer plz
        • 啊哈!谢谢 :) 还有一件事,我可以向选择器添加多个功能吗?
        • @Kyle Sevenoaks:是的,你可以。
        • :) 太好了,我看看能不能加一个,过段时间可能会回来问这是怎么回事哈哈。
        【解决方案4】:

        您的 HTML 中没有任何带有 id="terms" 的元素。

        【讨论】:

        • 谢谢,刚刚更改并更新了问题,但它仍然不会触发。
        猜你喜欢
        • 2019-08-24
        • 2010-11-01
        • 2015-08-08
        • 2016-12-02
        • 2015-07-17
        • 1970-01-01
        • 1970-01-01
        • 2021-03-01
        • 2014-02-18
        相关资源
        最近更新 更多