如何在rails中禁用select_tag提示符?

时间:2014-03-28 03:47:00

标签: ruby-on-rails ruby-on-rails-4 html-select

我已经决定我无法找到更好的方法来进行下拉菜单和跨浏览器支持我可能应该坚持使用select_tag。我需要一个提示,所以我创建了一个。

有什么方法可以强制禁用提示,以便用户无法选择它?如果没有在下拉列表中显示提示,有没有更好的方法呢?

2 个答案:

答案 0 :(得分:0)

这对我有用:

<%=

prompt = 'select person'

select_tag( 
  name = 'person', 
  options_for_select(
    @names_array.unshift(prompt),  #Add prompt string to front of array
    selected: prompt,
    disabled: prompt,
  )
) 

%>

虽然,在我看来,select_tag()助手的:prompt选项应该创建一个默认禁用的<option>,所以你可以简单地写:

select_tag( 
  name = 'person', 
  options_for_select(@names_array),
  prompt: 'select name'
) 

答案 1 :(得分:0)

我使用的是Rails 4.1。我无法使用select_tag禁用提示。似乎不可能基于the documentation

我最终在JavaScript中执行此操作:如果选择值为空,请不要提交表单。 (我们正在使用JQuery selectmenu。)

$('#select_menu_id').on('selectmenuchange', function() {
    if ($(this).val().length > 0) {
        $(this).closest('form').submit();
    }
})