在 Rails 表单中,如何使用 Jquery 隐藏和取消隐藏表单元素?我的脚本不起作用
In a Rails form how to use Jquery to hide and unhide form elements? My scripts won't work
在Rails中,我有一个一次编辑多个记录的表单。我想仅在勾选复选框时才显示一些元素。这是我写的javascript:
<script type="text/javascript">
$(document).ready(function() {
// Initially if free is checked hide nonfree options else show
if ($('<%= "#submits_#{submitid}_free" %>').attr('value') == '1') {
$('<%= "#submits_#{submitid}_revealnonfree" %>').hide();
} else {
$('<%= "#submits_#{submitid}_revealnonfree" %>').show();
}
// Initiall if sell rights is checked show prices or else hide
if ($('<%= "#submits_#{submitid}_sellrights" %>').attr('value') == '1') {
$('<%= "#submits_#{submitid}_revealrights" %>').show();
} else {
$('<%= "#submits_#{submitid}_revealrights" %>').hide();
}
// If free checked hide nonfree
$('<%= "#submits_#{submitid}_free" %>').change(function() {
if (this.checked) {
$('<%= "#submits_#{submitid}_revealnonfree" %>').fadeOut('slow');
} else {
$('<%= "#submits_#{submitid}_revealnonfree" %>').fadeIn('slow');
}
});
//If sell rights checked show prices
$('<%= "#submits_#{submitid}_sellrights" %>').change(function() {
if (this.checked) {
$('<%= "#submits_#{submitid}_revealrights" %>').fadeIn('slow');
} else {
$('<%= "#submits_#{submitid}_revealrights" %>').fadeOut('slow');
}
});
});
</script>
我在每条记录后加载它。当更改正确的复选框值时,脚本会隐藏和取消隐藏元素。但是,如果在页面加载时在开头勾选该复选框,则脚本将不会显示必要的元素。脚本的第一部分应该这样做,但它没有。这是我没有脚本的表单源代码: http://pastebin.com/Vj9HbrEB
只需为每个复选框触发一次更改事件,然后将其广告到脚本末尾:
$('<%= "#submits_#{submitid}_free" %>').trigger('change')
$('<%= "#submits_#{submitid}_sellrights" %>').trigger('change')
相关文章:
- 使用javascript取消隐藏和隐藏表单中的某些元素
- 如何使用javascript隐藏表单的选项
- 模拟隐藏表单提交&使用JavaScript重定向以实现安全支付
- 未执行Ajax隐藏表单提交验证
- 在同一个html页面中显示servlet响应而不隐藏表单
- 自动提交隐藏表单值
- 如何筛选出发布的隐藏表单输入类型
- 如何在angularjs中提交后隐藏表单
- 如果用户登录了Backbone,JavaScript,如何显示/隐藏表单
- 显示/隐藏表单区域(im 使用引导程序)
- 如何隐藏表单并仅在选中时显示
- 如何通过隐藏表单在同一页面中显示表单输出
- 如何在同一窗口中显示表单输出并隐藏表单
- 使用 jquery 选择选项时隐藏表单选项
- 当一组元素的所有元素都具有特定值时,如何隐藏表单元素
- 如果禁用了javascript,则隐藏表单
- 选择下拉列表中的值时隐藏表单
- 无法隐藏/取消隐藏表单内的按钮
- 如何根据最后选择的选项(单选按钮)使用 javascript 隐藏表单输入
- 显示和隐藏表单