gpt4 book ai didi

javascript - 根据属性值(复选框值)显示/隐藏 div

转载 作者:行者123 更新时间:2023-11-28 20:53:45 24 4
gpt4 key购买 nike

是否有任何可用的辅助方法可以根据模型属性的值显示/隐藏指定的 div?

这里是我想要显示的 div,如果 openid_enabledtrue 则显示包裹 openid_domain_name 文本字段的部分,否则在编辑记录时隐藏。

<%= form_for @application do |f| %>
<%= render "shared/error_messages", target: @application %>
<p>
<%= f.label :name %>
<%= f.text_field :name %>
</p>
<p>
<%= f.label :description %>
<%= f.text_field :description %>
</p>
<p>
<%= f.check_box :openid_enabled %>
<%= f.label 'openid', 'OpenID' %>
<div id="application_openid_domain" style="display: none;">
<%= f.label :openid_domain_name %>
<%= f.text_field :openid_domain_name %>
</div>
</p>
<p><%= f.submit class: "btn btn-primary" %></p>
<% end %>

这是当用户选中/取消选中复选框时显示/隐藏 div 的 javascript。

<script type="text/javascript">
$(function() {
$(':checkbox').click(function () {
if ($(this).is(':checked'))
$("#application_openid_domain").show();
else
$("#application_openid_domain").hide();
});
});
</script>

已编辑生成的 HTML 源代码:

<form accept-charset="UTF-8" action="/applications" class="new_application" id="new_application" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="Cq2rYF1qkjnsobimMTAUvle9Hi82LwdvghcVWRtC/I0=" /></div>
<p>
<label for="application_name">Name</label>
<input id="application_name" name="application[name]" size="30" type="text" />
</p>
<p>
<label for="application_description">Description</label>
<input id="application_description" name="application[description]" size="30" type="text" />
</p>
<p>
<input name="application[openid_enabled]" type="hidden" value="0" /><input id="application_openid_enabled" name="application[openid_enabled]" type="checkbox" value="1" />
<label for="application_openid">OpenID</label>
<div id="application_openid_domain" style="display: none;">
<label for="application_openid_domain_name">Openid domain name</label>
<input id="application_openid_domain_name" name="application[openid_domain_name]" size="30" type="text" />
</div>
</p>
<p><input class="btn btn-primary" name="commit" type="submit" value="Create Application" /></p>
</form>

<script type="text/javascript">
$(function() {
$(':checkbox').click(function () {
if ($(this).is(':checked'))
$("#application_openid_domain").show();
else
$("#application_openid_domain").hide();
});
});
</script>

最佳答案

您可以使用jQuery.toggle()功能。

HTML:

​<div id="div">123</div>
<input type="checkbox" vlalue="show-hide" checked="checked" id="box">

JavaScript:

$('#box').change(function() {
$('#div').toggle(this.checked);
});

DEMO

关于javascript - 根据属性值(复选框值)显示/隐藏 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11986591/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com