2012-06-12 6 views
0

Я пытаюсь написать код, который разворачивает каждый элемент в поле HTML select, а затем выделяет имя игрока. Это работает только если у меня есть окно предупреждения между линиями, например, так:Состояние гонки с JQuery

$("#users > option").css("font-weight", "normal"); 
alert('AHAHSDYHSAUDHSAUDHSAUDH');   
$('#users option[value="' + strPlayer + '"]').css("font-weight", "bold"); 

Если удалить окно предупреждения пункт игрока не становится жирной. Я только предполагаю, что операции JQuery асинхронны. Не знаете, как решить эту проблему.

Спасибо.

+2

Является ли окно выбора заполняемым асинхронно? –

+0

можете ли вы разместить соответствующий HTML-код или скрипку? – jbabey

+3

'css()' определенно не является асинхронным. Можете ли вы создать короткую [скрипку] (http://jsfiddle.net/), которая воспроизводит вашу проблему? –

ответ

0

Почему бы не использовать CSS для первой части (с установкой всех в нежирный) и jQuery для последней части (чтобы установить имя пользователя полужирным шрифтом). Это лучше применять по умолчанию, предсказуемые стили с использованием правил CSS, а затем настроить с помощью JQuery:

<style type="text/css"> 
#users > option {font-weight:normal;} 
</style> 
<script type="text/javascript"> 
$('#users option[value="' + strPlayer + '"]').css("font-weight", "bold"); 
</script> 

Edit:

Если перекрытие из двух утверждений противоречивы, попробуйте удалить перекрытие :

$('#users option:not([value="' + strPlayer + '"])').css("font-weight", "normal"); 
$('#users option[value="' + strPlayer + '"]').css("font-weight", "bold"); 
+0

Спасибо, но причина, в которой я нуждаюсь, заключается в том, что между раундами разные имена игроков становятся смелыми (в зависимости от того, кто является нынешним лидером) –

Смежные вопросы