Javascript 在Rails中的select_标记和text_field_标记之间动态更改

Javascript 在Rails中的select_标记和text_field_标记之间动态更改,javascript,ruby-on-rails,haml,Javascript,Ruby On Rails,Haml,我在我的网站上实现了一个简单的搜索,其想法是选择你想要搜索的领域,然后输入你的搜索查询。但是,至少有一个搜索选项应限制为下拉菜单,而不是文本字段 我一直在阅读和测试一些选项,看到了一些关于:on_change和一些深入的javascript解决方案的帖子,但我就是不知道该怎么做 我的当前视图有一个select_标记,后面跟着一个text_field_标记,但我想检查select_标记的值,并用它来决定下一个字段是text_field_标记还是select_标记。我正在使用Haml,我认为: #s

我在我的网站上实现了一个简单的搜索,其想法是选择你想要搜索的领域,然后输入你的搜索查询。但是,至少有一个搜索选项应限制为下拉菜单,而不是文本字段

我一直在阅读和测试一些选项,看到了一些关于:on_change和一些深入的javascript解决方案的帖子,但我就是不知道该怎么做

我的当前视图有一个select_标记,后面跟着一个text_field_标记,但我想检查select_标记的值,并用它来决定下一个字段是text_field_标记还是select_标记。我正在使用Haml,我认为:

#simple-search-options
  =form_tag packages_path, :method=>'get' do
    Search by:
    = select_tag :search_option, options_for_select(@search_options, @option)
    = text_field_tag :search_string, @s_string
    = submit_tag 'Search'
请注意,我正在为select_标记和text_field_标记设置默认值,其中包含在上一次搜索中输入的任何值,这就是变量@option和@s_字符串的来源。这可能会使解决方案复杂化,因为这意味着在第一次生成页面时,我希望已经根据@option的值选择了要显示的内容


我希望在第一个select_标记和submit_标记之间加上一个div,这个div将由某个控制器和某个视图填充,但我不知道如何进行操作。

您应该在模板中添加select_标记和text_field_标记,然后使用JavaScript隐藏并显示它们。最好为这两个字段设置不同的名称,因为它们的类型不同。

这对我来说很有效,唯一出现的问题是select_标记和text_field_标记的值都被发送,我必须在控制器中选择要使用的值。nbd。谢谢!