Estoy trabajando en un proyecto donde tengo una etiqueta < select > con sus opciones de ser generado en una función de javascript. Actualmente estoy rellenar el atributo «title» de cada opción con una descripción detallada.

Dentro de la función de javascript actualmente estoy haciendo algo como esto:

var country = new Option("countryUSA", "United States of America");
$("#mySelect").get(0).options[1]=country;

Esto funciona bien, la opción que se muestra. Sin embargo, también se deberá establecer el atributo «title» de que la opción html del elemento. He probado algo como esto:

country.title="Full description of USA";

pero no de trabajo.

Sé que puedo hacer algo como esto:

 $("#mySelect").get(0).options[1].title="My title";

pero yo estaba tratando de establecer el título antes de la adición de la opción de la etiqueta < select>. No es la «Opción» objeto supongamos que me permita establecer el «título» de la propiedad? La función de javascript no es hasta ejecutados. No hay manera de que pueda establecer el atributo «title» para una «opción» elemento html en javascript?

  • No creo que el Option objeto es técnicamente un nodo HTML hasta que se añade a la selección. Así que, si no es compatible con la title de la propiedad, que no se traducen a un title atributo.
  • Qué quieres decir exactamente con «La función de javascript no es ni siquiera ejecutado?» ¿Qué función JS?
InformationsquelleAutor Johnny | 2011-08-10

2 Comentarios

  1. 7

    Parece que estás usando jQuery. Hay una manera mucho más sencilla de hacer lo que quiera. Sólo uso el jQuery API en lugar de regresión de vuelta a la vainilla DOM:

    $('<option>',
    {
        value: 'countryUSA',
        title: 'Full description of USA',
        text: 'United States of America'
    }).appendTo("#mySelect");

    Que dijo, qué se puede esperar de ajuste de la title para hacer que el navegador nativo de la descripción que aparece cuando el puntero del ratón sobre la <option>? Al menos en Chrome, no hay descripción aparecerá.

    Pruébelo usted mismo: http://jsfiddle.net/GMTLn/1/


    Editar Chrome y Safari no mostrar una descripción de <option>s con un title atributo porque WebKit no. Ver este informe de error.

    • gracias por la edición, pero el violín no era la intención de tener algún JS – acaba de demostrar que la title atributo en <option>s no muestra un tooltip 🙂
    • Oops, lo siento. Estoy totalmente perdido el punto. Pensé que usted acaba de pegar el enlace equivocado.
    • gracias Matt. El título se muestra como una información sobre herramientas en la última versión de Firefox y el IE. Esta es la forma más sencilla que he encontrado para mostrar una descripción específica para cada opción. No lo he probado en Chrome. ¿Ustedes tienen alguna otra sugerencia? Aquí fue mi post original: «>stackoverflow.com/questions/6949712/…
    • parece una WebKit problema – véase mi edición.
  2. 1

    Puede establecer el atributo de título

       $('#mySelect').append(
       $("<option/>", { text: value }).attr("title",value)); 

    Aquí es un ejemplo de trabajo http://jsbin.com/ozudoTod/1/

    O de esta manera :

         value = cleanNulls( value );
         var option = $( '<option/>', {
         title: value,
         text: value
         });
         $('#mySelect').append( option );

Dejar respuesta

Please enter your comment!
Please enter your name here