选择的占位符值不会从默认值更改?

时间:2013-01-14 20:55:19

标签: jquery asp.net-mvc-3 jquery-chosen

我正在使用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>
...

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

4 个答案:

答案 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");