此代码正在运行,但在 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']”(来自 db)然后 $j("#asset_list").show(); 无需更改监听器