이 코드는 작동하지만 더 나은 방법이 있어야 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
그리고 heres는 내 숨겨진 비트입니다.
<% 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와 일부 작동하는 동안
<input checked="checked" id="rb" name="asset_loss[loss_type]" type="radio" value="Asset"/>
, 나는이 할 수있는 더 나은 방법이있을거야, 그래서 나는 것 확인 라디오 버튼을 마크 업을 렌더링
$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();
});
});
리팩터링 도움을 요청할 것입니다.
많은 미리 감사드립니다.
Ed1. 나는 이것이 Jquery Question이라는 것을 깨달았고, "input [id = 'rb']"가 (db로부터) 다음에 $ j ("# asset_list")가 체크되어 있는지 확인해야한다. 변경 리스너를 필요로하지 않고
서버 측 코드 대신 렌더링 된 마크 업을 게시하십시오. – undefined