我发现这个脚本在网络表单中使用。当用户单击复选框时,将显示其他必需的表单字段。如果未单击该复选框,则不需要隐藏的表单字段。
除了我遇到的问题外,它有效:
当#4发生时,我会更喜欢在页面重新加载后显示的字段,因为复选框仍然被选中而不是被隐藏。
<script>
$(document).ready(function(){
//Hide div w/id extra
$("#extra").css("display","none");
// Add onclick handler to checkbox w/id checkme
$("#delivery").click(function(){
// If checked
if ($("#delivery").is(":checked"))
{
//show the hidden div
$("#extra").show("fast");
}
else
{
//otherwise, hide it
$("#extra").hide("fast");
}
});
});
</script>
答案 0 :(得分:1)
如果您已经在使用jQuery,那么通过让jQuery在提交之前验证表单来保存页面的重新加载是不是不可能的?似乎是一个更好的解决方案,可以确保在提交之前对所有内容进行验证,而不是提交,验证并将表单恢复给用户。
答案 1 :(得分:0)
这有效:
$(document).ready(function(){
// Hide div w/id extra
$("#extra").hide();
// Toggle content on initial load
extraToggle($("#used_fixed_price_1"), $("#extra"));
// Add onclick handler to checkbox w/id cb
$("#used_fixed_price_1").click(function(){
extraToggle($("#used_fixed_price_1"), $("#extra"));
});
});
function extraToggle(checkbox, extra)
{
// If checked
if(checkbox.is(":checked"))
{
//show the hidden div
extra.show("fast");
}
else
{
//otherwise, hide it
extra.hide("fast");
}
}