我正在尝试添加也可以在firefox中运行的自定义复选框,但我遇到了ruby-code的问题。我想要的是这样的东西:
<%= f.check_box :privacy_statement_accepted, id:"agb" %>
<%= f.label :privacy_statement_accepted, "<span></span>".html_safe %>
但是,此代码禁用复选框并返回true,但如果我将其更改为:
<%= f.check_box :privacy_statement_accepted, {:checked=>false}, id:"agb" %>
<%= f.label :privacy_statement_accepted, "<span></span>".html_safe %>
选中此框时,它不会更新值。是否有使用f.check_box但不使用check_boxe_tag的解决方案?
这就是我正在使用atm的原因,因为它有效,但效果并不好:
<input type="checkbox" id="agb" name="privacy_statement_accepted" />
<label for="agb"><span></span></label>
CSS:
input[type="checkbox"] {
display: none;
}
input[type="checkbox"] + label {
font-size:14px;
}
input[type="checkbox"] + label span {
display:inline-block;
width:19px;
height:19px;
margin: -1px 4px 0 0;
vertical-align:middle;
background:url(icons/checkbox.png) left top no-repeat;
cursor:pointer;
}
input[type="checkbox"]:hover + label span {
background:url(icons/checkbox.png) left bottom -20px no-repeat;
}
input[type="checkbox"]:checked + label span {
background:url(icons/checkbox.png) left top -46px no-repeat;
}
JavaScript:
function validateAgb() {
if ($('#agb').is(':checked')) {
$('#agbMsg').hide();
return true;
} else {
$('#abg').focus();
$('#agbMsg').show();
return false;
}
}
谢谢!