Chosen: data-placeholder não está funcionando

Criado em 11 ago. 2011  ·  22Comentários  ·  Fonte: harvesthq/chosen

Eu prefiro ver isso como uma opção.

No FF5.0 e no IE9 ainda mostra "Selecionar algumas opções"

  <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>

Comentários muito úteis

Você precisa colocar uma opção vazia antes de todas as opções:

Todos 22 comentários

Deixa pra lá, eu baixei o branch tomapano e usei o atributo title.

Eu quis dizer o ramo de tompaton

Estou enfrentando esse problema e não consigo resolvê-lo. Por favor, ajude.

Se você estiver usando jQuery anterior a 1.4.3, você precisa adicionar esta correção, para adicionar suporte para atributos de dados HTML5 a jQuery.data ():

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

Estou vendo o mesmo problema e estou usando o jquery 1.6.4 ...

Talvez você use um jquery simplificado? 1.6.4 deve funcionar definitivamente.

Não, é a versão completa

Tente construir um caso de teste mínimo para replicar o problema.

Você está usando uma versão antiga do escolhido, tente novamente com a mais recente. E tente usar a versão não minimizada, assim é mais fácil de depurar.

Por que você não usa attr ('data-placeholder') em vez de data ('placeholder')? É muito mais portátil e da mesma ordem de simplicidade.

@varepsilon : Lembre-se de que é possível gravar no hash de dados do jQuery sem atualizar o atributo, portanto, os dois não são necessariamente equivalentes. Por exemplo:

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

Além disso, tome cuidado com esta armadilha:

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

@davidchambers : Ok, entendo. Mas por que não usar uma abordagem mais portátil (diga aos usuários para especificar attr () e não data ())? E por que afirma compatibilidade com jQuery 1.4. * Quando não é verdade?

@varepsilon : Não sou um dos desenvolvedores do Chosen, então não posso dizer por que foi decidido extrair o valor do hash de dados jQuery em vez do atributo data-placeholder .

Você precisa colocar uma opção vazia antes de todas as opções:

Chosen define automaticamente o texto do campo padrão ("Escolha um país ...") lendo o valor do marcador de dados do elemento selecionado. Se nenhum valor de espaço reservado para dados estiver presente, o padrão será "Selecionar uma opção" ou "Selecionar algumas opções", dependendo se a seleção é única ou múltipla. Você pode alterar esses elementos no arquivo js do plugin conforme desejar.

Enfrentando o mesmo problema, usando o último & jquery2 escolhido com uma opção vazia.

Eu também estou enfrentando o mesmo problema ..

Eu tive o mesmo problema, mas assim como mandrei99 disse, você precisa ter uma opção vazia para que isso funcione. Funcionou para mim assim que adicionei um.

Eu tive o mesmo problema e estou colocando um vazio

Obrigado @ andrei-manescu, isso foi tudo o que foi necessário do meu lado;)

Por que precisamos adicionar uma opção vazia para fazer isso aparecer, não deveria adicioná-lo via javascript? Fiquei procurando por um tempo quando vi que era só por causa disso.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

Scalamoosh picture Scalamoosh  ·  8Comentários

vpode picture vpode  ·  5Comentários

raggzy picture raggzy  ·  5Comentários

gandarez picture gandarez  ·  5Comentários

jim-at-miramontes picture jim-at-miramontes  ·  4Comentários