我有一个带有是或否 单选按钮
的item.rb模型
:
enum stock: { "No": "1", "Yes": "2" }
并且在视图中:
<%= f.collection_radio_buttons :stock, Item.stock, :first, :first %>
如果我点击是,我希望更多的字段显示出来,这些字段我已经准备好了:
<div id="ifYes" style="display:none">
</div
我正在尝试使用以下JavaScript实现这个目标:
<script type="text/javascript">
function yesnoCheck() {
if (document.getElementById('yesCheck').checked) {
document.getElementById('ifYes').style.display = 'block';
}
else document.getElementById('ifYes').style.display = 'none';
}
</script>
使用此代码,但没有发生任何事情:
<%= f.collection_radio_buttons :stock, Item.stock, :first, :first, onclick:"javascript:yesnoCheck();", :id=>"yesCheck" %>
有什么办法可以让这个工作吗?
更新1
现在我正在做这件事,当我点击“是”或“否”时,<div id="ifYes" style="display:none;"></div>
内的内容会显示出来。
<%= f.collection_radio_buttons :stock, Item.stock, :first, :first, onChange:"getValue(this)" %>
<script type="text/javascript">
$(document).ready(function(getValue){
$("input[type=radio]").change(function(){
$('#ifYes').show();
});
});
</script>
但是如果我点击“否”,如何隐藏这些字段?
onChange
。 - Jack AshtononCharge
函数? - Devonclick
一样简单,我认为只需要将onclick:"javascript:yesnoCheck();"
更改为onchange:"javascript:yesnoCheck();"
即可。 - Jack AshtonyesnoCheck()
,看起来没问题。 - Jack Ashton<%= f.collection_radio_buttons :stock, Item.stock, :first, :first, onchange:"javascript:yesnoCheck();", :id=>"yesCheck" %>
,如果我检查单选按钮的元素以检查ID是否为yesCheck
,我会得到item_stock_yes
。 - Dev