在Rails中的select_tag和text_field_tag之间进行动态更改

时间:2012-05-02 00:24:23

标签: javascript ruby-on-rails haml

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

我一直在阅读和测试一些选项,看了几篇关于:on_change的帖子和一些深入的javascript解决方案,但我一直无法看到该做什么。

我当前的观点后面有一个select_tag后跟一个text_field_tag,但我想查看select_tag的值是什么,并使用它来确定下一个字段是否为{{} 1}}或text_field_tag。我在使用Haml,这是我认为的:

select_tag

请注意,我正在设置#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_tag的默认值,其中包含在上一次搜索中输入的任何值,即变量text_field_tag@option所在的值来自(哪里。这可能使解决方案复杂化,因为这意味着当首次生成页面时,我希望已经根据@s_string的值选择了要显示的内容。

我希望在第一个@optiondiv之间加上select_tag,这个submit_tag会被一些控制器和一些视图填充,但我不知道如何通过

1 个答案:

答案 0 :(得分:0)

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