10

Do any of the modern browsers support any type (any type at all) of internal text formatting (so that part of a single option is formatting differentially). Different side, colour, strength, subscript, anything.

So far it seems that Chrome, at least, just deletes any tags put inside of option tags.

I am looking for something to accomplish this style of result (without having to deal with canvases):

<option value="8470621">Corey Perry <i>Anaheim Mighty Ducks</i></option>

OR

<option value="8474141"><b>Patrick Kane</b> Chicago Blackhawks</option>
Jonathon
  • 2,571
  • 5
  • 28
  • 49

4 Answers4

12

There is currently no support for nested HTML tags within options. The closest formatting element you can use is <optgroup> which will group options into sections.

What you could do is use a javascript replacement like Select2 or Chosen to style the elements. It isn't native, but it does support HTML.

Matthew R.
  • 4,332
  • 1
  • 24
  • 39
2

As the specification "4.10.12 The option element" states is the content model of an <option>-element text only.

insertusernamehere
  • 23,204
  • 9
  • 87
  • 126
1

The answer is no.

As you can see on MDN:

Permitted content: Text with eventually escaped characters (like &eacute;).

There are alternatives combining other tags, but not select and option.


For further reading:

insertusernamehere
  • 23,204
  • 9
  • 87
  • 126
Itay
  • 16,601
  • 2
  • 51
  • 72
0

I found this method to overlay text in list, but it probably will not help with :)

var result ="";
$.each(text.split(""), function () {
result += this + "\u20EB";
});