此代码正在工作,但必须有更好的方式在Jquery脚本中执行此操作。使用单选按钮显示/隐藏表单元素时编辑表单的显示/隐藏持久性
这里是我的单选按钮
<%= f.radio_button :losstype, "Cash", :id => 'lc' %>Cash
<%= f.radio_button :losstype, "Asset",:id => 'rb' %>Asset
<%= f.radio_button :losstype, "Supplies", :id => 'ab' %>Supplies
而且我的继承人隐藏位现在。
<% if @assetloss.losstype == "Asset" %>
<div id="asset_list" style="display: show;">
<% else %>
<div id="asset_list" style="display: none;">
<% end >
A drop down list to be shown
</div>
而且Jquery的一部分
$j(document).ready(function(){
$j("input[id='lc']").change(function() {
$j("#asset_list").hide();
});
$j("input[id='rb']").change(function() {
$j("#asset_list").show("slide");
});
$j("input[id='ab']").change(function() {
$j("#asset_list").hide();
});
});
呈现标记上选中了单选按钮
<input checked="checked" id="rb" name="asset_loss[loss_type]" type="radio" value="Asset"/>
虽然它的作品,我敢肯定有一个更好的方式来做到这一点,所以我我想要重构帮助。
很多在此先谢谢
Ed1。我已经意识到这是一个JQuery的问题,并需要它来检查,如果“input [id ='rb']”被检查(从数据库),然后$ j(“#asset_list”)。不需要更换听众
请发布呈现的标记而不是服务器端代码。 – undefined