我正在使用 selected-rails gem 并取得了巨大的成功。但是,我想自定义占位符文本。从 gem 文档看来,咖啡脚本文件中应该有以下内容
$('.chzn-select').chosen
allow_single_deselect: true
no_results_text: 'No results matched'
当我使用此代码时,我可以更改 deslectbehaviour,因此正在调用脚本,但占位符文本不会更改
有没有人经历过类似的行为?
我正在使用 selected-rails gem 并取得了巨大的成功。但是,我想自定义占位符文本。从 gem 文档看来,咖啡脚本文件中应该有以下内容
$('.chzn-select').chosen
allow_single_deselect: true
no_results_text: 'No results matched'
当我使用此代码时,我可以更改 deslectbehaviour,因此正在调用脚本,但占位符文本不会更改
有没有人经历过类似的行为?
你可以设置你的data-placeholder
属性,Chosen 会自动解析它:
:data => {:placeholder => 'User Name'}
我找到了一个更好的解决方案。
在此https://github.com/harvesthq/chosen/issues/176之后,可以使用 .attr("data-placeholder", "my message here...").chosen(); 而不是 .data()。
这里正确的解决方案是在顶部放置一个空的选项元素。
要在咖啡脚本文件中设置默认文本,请使用:
$('.chzn-select').chosen
allow_single_deselect: true
no_results_text: 'No results matched',
placeholder_text_single: 'Please select an option',
placeholder_text_multiple: 'Please select some options'
适用于我选择的rails 1.5.2
文档在“默认文本支持”部分中说您应该data-placeholder
在选择元素上使用属性。我还没有测试过它,我也很好奇如何从脚本而不是标记中做到这一点。
编辑: 我刚刚找到了一个解决方案:--从脚本中简单地覆盖数据属性(非常明显:))。
轨道 5 - 2018
此代码适用于 simple_form gem:
<%= f.input :tag, as: :select, collection: Tag.all, input_html: {class: 'chosen-select', :data => {:placeholder => "your custom placeholder"}, multiple: true} %>