我正在使用jquery插件选择将Html.Listbox屏蔽为muli选择工具。它工作得很好,除了我需要更改默认文本。我已经尝试在html和jquery中设置占位符文本。这是相关的代码......
@Html.ListBox("Filter-Chooser",aList,new { @class = "chzn-select filter-chooser")
function EnableMultiChoose() {
$(".chzn-select").data("placeholder", "Filter By...");
$(".chzn-select").chosen();
}
我也厌倦了指定参数@placeholder =“Filter By ...”无效。我检查了html输出,它似乎设置了占位符属性......
Html呈现
<select class="chzn-select filter-chooser" id="Filter-Chooser" multiple="multiple" name="Filter-Chooser" placeholder="Filter By...">
<option value="Content">Content</option>
<option value="Author">Author</option>
<option value="DeckName">Deck Name</option>
...
有关如何正确指定占位符的任何想法?
答案 0 :(得分:11)
我会帮忙: 使用“data-placeholder”属性。
<select class="chzn-select filter-chooser" id="Filter-Chooser" multiple="multiple" name="Filter-Chooser" data-placeholder="Filter By...">
答案 1 :(得分:4)
好的,通过data-placeholder属性指定占位符。凉爽。
@Html.ListBox("Filter-Chooser", aList , new Dictionary<string,Object> { {"class","chzn-select filter-chooser"}, {"data-placeholder","TEXT HERE"}})
答案 2 :(得分:0)
如果您使用的是simple_form,则需要以下内容:
<%= f.input :education_ids, :label => false, :collection => Education.all, :input_html => { :data => { :placeholder => 'Education' }} %>
答案 3 :(得分:-2)
解决方案如下。
$("[value='Select Some Options']").val("your text");