Обновлено:
Проблема не в динамической генерации, а в количестве элементов.
Посмотреть демо: plunker
Я должен выбрать поля на моем сайте, оба стилизованы под темный фон с белым текстом:
select {
border: 1px solid #505050;
background: #151515;
padding: 5px;
margin-bottom: 3px;
color: #fff;
}
CSS правильно применен к статически созданному полю выбора:
<select name="foo">
<option value="bar">bar</option>
<option value="...">...</option>
</select>
Однако у меня также есть функция PHP для динамического создания параметров:
function generateOptions() {
$string = "";
$res = $database->connection->query("SELECT name FROM something");
while ($row = $res->fetch()) {
$option = '<option value="' . $row['name'] . '">' . $row['name'] . '</option>';
$string = $string . $option;
}
return $string;
}
Когда я пытаюсь вставить эти параметры в select
CSS не применяется (цвет параметров черный (цвет браузера по умолчанию)), и я понятия не имею, почему. У вас есть какие-нибудь предложения?
<?php $list = generateOptions(); ?>
<form action="#" method="POST">
<select name="foo">
<?php echo $list; ?>
</select>
</form>
Изменить: это происходит в Google Chrome и Opera.
Таким образом, проблема заключается в том, что Chrome ограничивает количество параметров для повышения производительности. https://code.google.com/p/chromium/issues/detail?id=513339
Других решений пока нет …