之前我找到了这个答案,如果按下按钮但是未选中复选框则触发警报。
为什么这不起作用?
我头脑中有这个
<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=""> </button>
可能出现什么问题? jQuery根本不会触发任何内容。
更新 ID条款已更改为checkbox2,仍未发生任何事情。
答案 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()