jquery选择不显示data-palceholder消息

kfc*_*kfc 1 javascript webforms jquery-chosen

我使用来自http://harvesthq.github.io/chosen/的插件作为我的选择.在文档就绪时,我向它添加一个空选项,然后调用selected,但它永远不会呈现data-placeholder中定义的消息.我究竟做错了什么?我正在使用asp.net webforms,下拉列表绑定在服务器上.下面是我的标记和我的JavaScript

<asp:DropDownList ID="cbxLanguage" data-placeholder="choose a language..." CssClass="input-large chzn-select" DataTextField="Name" DataValueField="Id" runat="server" Width="210" required="Language required"></asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)

和我在文档准备就绪时调用的javascript:

function pimpSelect(select, options) {
            var prepend = '';
            if (select.attr('data-placeholder')) {
                prepend = '<option></option>';
            }
            if (options) {
                options = prepend + options;
                select.empty().html(options);
            }
            else {
                select.prepend(prepend);
            }
            if (select.hasClass('chzn-select')) {
                var _width = select.css('width');
               select.chosen({ width: _width });
            }
        }
Run Code Online (Sandbox Code Playgroud)

Pra*_*een 8

原因是您应该首先初始化空值选项.

<option value=""></option>
Run Code Online (Sandbox Code Playgroud)

你的选择应该是这样的.

<select name="cbxLanguage" id="ContentPlaceHolder1_cbxLanguage" class="chzn-select" data-placeholder="choose a language..." required="Language required" style="width: 210px;">
  <option value=""></option>
  <option value="1">English</option>
  <option value="2">French</option>
  <option value="3">Spanish</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我不确定原因,但如果你查看chosen.js那里的例子,你就可以找到它.

的jsfiddle