Chosen: 数据占位符不起作用

创建于 2011-08-11  ·  22评论  ·  资料来源: harvesthq/chosen

我宁愿看到这是一个选择。

在 FF5.0 和 IE9 中仍然显示“选择一些选项”

  <select data-placeholder="Select State(s)..." class="state_list" multiple>
    <option value=""></option> 
    <option value="OL">(Online Courses)</option>
    <option value="AL">Alabama</option>
    <option value="AK">Alaska</option>
    <option value="AZ">Arizona</option>
    <option value="AR">Arkansas</option>
    <option value="CA">California</option>
    <option value="CO">Colorado</option>
    <option value="CT">Connecticut</option>
    <option value="DE">Delaware</option>
    <option value="DC">District of Columbia</option>
    <option value="FL">Florida</option>
    <option value="GA">Georgia</option>
    <option value="HI">Hawaii</option>
    <option value="ID">Idaho</option>
    <option value="IL">Illinois</option>
    <option value="IN">Indiana</option>
    <option value="IA">Iowa</option>
    <option value="KS">Kansas</option>
    <option value="KY">Kentucky</option>
    <option value="LA">Louisiana</option>
    <option value="ME">Maine</option>
    <option value="MD">Maryland</option>
    <option value="MA">Massachusetts</option>
    <option value="MI">Michigan</option>
    <option value="MN">Minnesota</option>
    <option value="MS">Mississippi</option>
    <option value="MO">Missouri</option>
    <option value="MT">Montana</option>
    <option value="NE">Nebraska</option>
    <option value="NV">Nevada</option>
    <option value="NH">New Hampshire</option>
    <option value="NJ">New Jersey</option>
    <option value="NM">New Mexico</option>
    <option value="NY">New York</option>
    <option value="NC">North Carolina</option>
    <option value="ND">North Dakota</option>
    <option value="OH">Ohio</option>
    <option value="OK">Oklahoma</option>
    <option value="OR">Oregon</option>
    <option value="PA">Pennsylvania</option>
    <option value="PR">Puerto Rico</option>
    <option value="RI">Rhode Island</option>
    <option value="SC">South Carolina</option>
    <option value="SD">South Dakota</option>
    <option value="TN">Tennessee</option>
    <option value="TX">Texas</option>
    <option value="UT">Utah</option>
    <option value="VT">Vermont</option>
    <option value="VA">Virginia</option>
    <option value="WA">Washington</option>
    <option value="WV">West Virginia</option>
    <option value="WI">Wisconsin</option>
    <option value="WY">Wyoming</option>
  </select>

最有用的评论

您需要在所有选项之前放置一个空选项:

所有22条评论

没关系,我下载了 tomapano 分支并使用了 title 属性。

我是说 tompaton 分店

我正面临这个问题,无法解决。 请协助。

如果您使用早于 1.4.3 的 jQuery,则需要添加此修复程序,以向 jQuery.data() 添加对 HTML5 数据属性的支持:

http://binarykitten.me.uk/dev/jq-plugins/288-html5-data-attributes-and-jquerys-data-pairing-made-in-heaven.html

我看到了同样的问题,我正在使用 jquery 1.6.4 ...

也许您使用精简的jquery? 1.6.4 应该肯定有效。

不,这是完整版

尝试构建一个最小的测试用例来复制问题。

您使用的是旧版本,请使用最新版本重试。 并尝试使用非缩小版本,这样更容易调试。

为什么不使用 attr('data-placeholder') 而不是 data('placeholder')? 它更便携,并且具有相同的简单性。

@varepsilon :请记住,可以在不更新属性的情况下写入 jQuery 的数据散列,因此两者不一定等效。 例如:

<div id="foo" data-bar="baz"></div>
$('#foo').data('bar') // "baz"
$('#foo').data('bar', 'quux')
$('#foo').data('bar') // "quux"
$('#foo').attr('data-bar') // "baz"

另外,请注意这个陷阱:

<div id="commit" data-hash="368e54010865"></div>
$('#commit').attr('data-hash') // "368e54010865"
$('#commit').data('hash') // Infinity

@davidchambers :好的,我明白了。 但是为什么不使用更便携的方法(告诉用户指定 attr() 而不是 data())? 为什么它声称与 jQuery 1.4.* 兼容,但事实并非如此?

@varepsilon :我不是 Chosen 的开发人员之一,所以我不能说为什么决定从 jQuery 数据哈希而不是从data-placeholder属性中提取值。

您需要在所有选项之前放置一个空选项:

Chosen 通过读取 select 元素的数据占位符值自动设置默认字段文本(“选择一个国家...”)。 如果不存在数据占位符值,它将默认为“选择一个选项”或“选择一些选项”,具体取决于选择是单个还是多个。 您可以根据需要更改插件 js 文件中的这些元素。

面临同样的问题,使用最新选择的 & jquery2 和一个空选项。

我也面临同样的问题..

我遇到了同样的问题,但就像 mandrei99 说的那样,您需要有一个空选项才能使其工作。 我一添加就为我工作。

我有同样的问题,正在放置一个空的

谢谢@andrei-manescu,这就是我所需要的一切;)

为什么我们需要添加一个空选项来显示它,难道不应该通过javascript添加它吗? 找了一阵子才发现是因为那个。

此页面是否有帮助?
0 / 5 - 0 等级