<script type="text/javascript">
function serviceChange(list) {
if (value == "OTHER")
{
document.getElementById('others').style.display="inline";
}
else
{
document.getElementById('others').style.display="none";
}
}
</script>
<%= select_tag "options", options_for_select(MyModel::ALL_TYPES), :onchange => "serviceChange(this.options[this.selectedIndex].value);" %>
</p>
<p id="others">
<%= f.label :profile_url %><br />
<%= f.text_field :profile_url %>
</p>
我在表演和隐藏方面遇到了麻烦。任何人都可以帮助我并解释它为什么不起作用吗?
当我使用函数onchange这样的函数时,它也不起作用:
<%= f.select :xyz_type, MyModel::ALL_TYPES, :include_blank => true, :onchange => "checkType(this);" %>
答案 0 :(得分:2)
在你的第一个代码块中
if (value == "OTHER")
但你永远不会传递任何被调用的值或定义什么值。这可能会导致您的问题。尝试将其更改为列出,如果这是您传入的内容并尝试检查。
关于onchange无效的第二个问题,checkType定义在哪里?发布该功能,以便有更多信息可供使用。