Я знаю, это должно быть проще, если бы я мог использовать только optgroups. Но я пытаюсь избежать взлома ядра моей CMS, поэтому, надеюсь, jQuery снова придет на помощь.
У меня иногда есть выбор с параметрами в иерархии, и я хочу отключить атрибуты для любого из параметров, содержащих текст, НЕ начинающийся с тире.
Я хочу кодировать как:
Установить отключенные атрибуты для селекторов с текстом опций, НЕ начинающимся с тире ("-").
<select id="options">
<option value="" selected="selected">- Please choose -</option>
<option value="1">Parent1</option>
<option value="2">-child1</option>
<option value="3">-child2</option>
<option value="4">-child3</option>
<option value="5">-child4</option>
<option value="6">Parent2</option>
<option value="7">-child5</option>
<option value="8">-child6</option>
<option value="9">-child7</option>
<option value="10">-child8</option>
</select>
Здесь самое близкое решение : содержать / начинать с ,
$.extend($.expr[':'], {
startsWith: function(elem,match) {
return (elem.textContent || elem.innerText || "").indexOf(match[3]) == 0;
}
});
Но я не могу сделать это прямо сейчас.
Любая помощь будет принята с благодарностью. Большое спасибо.