1

我使用 jquery 插件 Chosen 将 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>
...

关于如何正确指定占位符的任何想法?

4

4 回答 4

11

我会帮忙:使用“数据占位符”属性。

<select class="chzn-select filter-chooser" id="Filter-Chooser" multiple="multiple" name="Filter-Chooser" data-placeholder="Filter By...">
于 2014-01-21T12:14:00.120 回答
4

好的,通过 data-placeholder 属性指定占位符。凉爽的。

@Html.ListBox("Filter-Chooser", aList , new Dictionary<string,Object> { {"class","chzn-select   filter-chooser"}, {"data-placeholder","TEXT HERE"}})
于 2013-01-15T17:04:57.477 回答
0

如果您使用的是 simple_form,您将需要以下内容:

<%= f.input :education_ids, :label => false, :collection => Education.all, :input_html => { :data => { :placeholder => 'Education' }} %>
于 2013-04-28T03:55:52.587 回答
-2

解决方案如下。

$("[value='Select Some Options']").val("your text");
于 2014-11-06T06:14:56.707 回答