选中单选按钮时切换 DIV
我试图在一组单选按钮说“是”或“否”时使 DIV 切换可见和不可见。
例如,我在 DIV 中有一个商店列表,但我只希望当单选按钮选中为“是”时该商店列表可见。
编辑脚本视图
<div id="script_form_wrapper">
<%= form_for(:script, :url => {:action => 'update', :id =>@script.id}) do |f| %>
<div id="script_form_visibility">
<div class="issue_section_header" align="center">Visibility</div>
<div class="line-break"></div>
<div class="standardText"><span class="boldText">All Stores:</span>
<%=f.radio_button(:all_stores, true)%> Yes
<%=f.radio_button(:all_stores, false)%> No
</div>
<br/>
<div id="script_stores">
<div class="issue_section_header" align="center">Stores</div>
<div class="line-break"></div>
<div class="standardText">
<%@stores.each do |store|%>
<%= check_box_tag 'script[store_ids][]', store.id, @script.store_ids.include?(store.id), :id => dom_id(store) %>
<%= label_tag dom_id(store), store.name, :class => "check_box_label" %><br/>
<%end%>
</div>
</div>
</div>
<div id="script_form">
<div class="boldText"><%= f.label :name %></div>
<div><%=f.text_field :name, :size => '94', :maxlength => '70'%></div>
<div>
<table width="100%" cellspacing="0">
<tr>
<td class="boldText"><%= f.label :category_id, "Category" %></td>
<td class="boldText" align="right">Show ID Required Field</td>
</tr>
<tr>
<td class="standardText"><%=f.select(:category_id, @categories.collect {|c| [c.name, c.id]}, :selected => session[:admin_category])%></td>
<td class="standardText" align="right"><%=f.radio_button(:require_id, true)%> Yes <%=f.radio_button(:require_id, false)%> No</td>
</tr>
</table>
</div>
<div class="boldText"><%= f.label :task %></div>
<div><%= f.text_area(:task, :size => "68x20") %></div>
<div class="boldText"><%= f.label :expected_results, "Expected Results" %></div>
<div><%= f.text_area(:expected_results, :size => "68x20") %></div>
<div align="center"><%= f.submit "Update Script" %></div>
</div>
<% end %>
</div>
悲伤的Javascript尝试
<script type="text/javascript">
$(function() {
$("[name=script[all_stores]]").click(function(){
$('#script_stores').hide();
$("#script_all_stores_"+$(this).val()).show('slow');
});
});
</script>
渲染的HTML源代码
<div class="standardText"><span class="boldText">All Stores:</span>
<input id="script_all_stores_true" name="script[all_stores]" type="radio" value="true" /> Yes
<input checked="checked" id="script_all_stores_false" name="script[all_stores]" type="radio" value="false" /> No
</div>
解决方案
<script type="text/javascript">
$(function() {
if($("#script_all_stores_false").is(":checked")){
$('#script_stores').show();
}else{
$('#script_stores').hide();
}
$("input[name='script[all_stores]']").change(function(){
if($("#script_all_stores_false").is(":checked")){
$('#script_stores').show();
}else{
$('#script_stores').hide();
}
});
});
</script>
谢谢您的帮助!
I am trying to make a DIV toggle visible and not visible when a group of radio buttons say yes or no.
For example I have a a list of stores in a DIV but I only want that list of stores visible when the radio button is checked as yes.
Edit Script View
<div id="script_form_wrapper">
<%= form_for(:script, :url => {:action => 'update', :id =>@script.id}) do |f| %>
<div id="script_form_visibility">
<div class="issue_section_header" align="center">Visibility</div>
<div class="line-break"></div>
<div class="standardText"><span class="boldText">All Stores:</span>
<%=f.radio_button(:all_stores, true)%> Yes
<%=f.radio_button(:all_stores, false)%> No
</div>
<br/>
<div id="script_stores">
<div class="issue_section_header" align="center">Stores</div>
<div class="line-break"></div>
<div class="standardText">
<%@stores.each do |store|%>
<%= check_box_tag 'script[store_ids][]', store.id, @script.store_ids.include?(store.id), :id => dom_id(store) %>
<%= label_tag dom_id(store), store.name, :class => "check_box_label" %><br/>
<%end%>
</div>
</div>
</div>
<div id="script_form">
<div class="boldText"><%= f.label :name %></div>
<div><%=f.text_field :name, :size => '94', :maxlength => '70'%></div>
<div>
<table width="100%" cellspacing="0">
<tr>
<td class="boldText"><%= f.label :category_id, "Category" %></td>
<td class="boldText" align="right">Show ID Required Field</td>
</tr>
<tr>
<td class="standardText"><%=f.select(:category_id, @categories.collect {|c| [c.name, c.id]}, :selected => session[:admin_category])%></td>
<td class="standardText" align="right"><%=f.radio_button(:require_id, true)%> Yes <%=f.radio_button(:require_id, false)%> No</td>
</tr>
</table>
</div>
<div class="boldText"><%= f.label :task %></div>
<div><%= f.text_area(:task, :size => "68x20") %></div>
<div class="boldText"><%= f.label :expected_results, "Expected Results" %></div>
<div><%= f.text_area(:expected_results, :size => "68x20") %></div>
<div align="center"><%= f.submit "Update Script" %></div>
</div>
<% end %>
</div>
Sad Attempt of Javascript
<script type="text/javascript">
$(function() {
$("[name=script[all_stores]]").click(function(){
$('#script_stores').hide();
$("#script_all_stores_"+$(this).val()).show('slow');
});
});
</script>
Rendered HTML Source
<div class="standardText"><span class="boldText">All Stores:</span>
<input id="script_all_stores_true" name="script[all_stores]" type="radio" value="true" /> Yes
<input checked="checked" id="script_all_stores_false" name="script[all_stores]" type="radio" value="false" /> No
</div>
Solution
<script type="text/javascript">
$(function() {
if($("#script_all_stores_false").is(":checked")){
$('#script_stores').show();
}else{
$('#script_stores').hide();
}
$("input[name='script[all_stores]']").change(function(){
if($("#script_all_stores_false").is(":checked")){
$('#script_stores').show();
}else{
$('#script_stores').hide();
}
});
});
</script>
Thank you for you help!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
或者
or
试试这个:
Try this:
能够使用以下 javascript 使其工作
谢谢
Was able to get this working with the following javascript
Thanks