jQuery noobie无法使复选框显示警告

时间:2010-04-26 07:56:15

标签: jquery html checkbox

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

为什么这不起作用?

我头脑中有这个

<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,仍未发生任何事情。

4 个答案:

答案 0 :(得分:2)

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

更新

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

}

为:

});

我已经使用此更改测试了代码,并且工作正常。

答案 1 :(得分: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();
    }
  });
});

答案 2 :(得分:1)

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

答案 3 :(得分:1)

  

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

如果按,请按此复选框,但复选框未选中,如上所述:

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

根据评论更新:

要在选中时显示提醒,您可以这样做:

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

同样来自您的代码,您似乎错过了最后的);

$(function()