JQuery выбран вариант, работающий только в отладке - PullRequest
3 голосов
/ 26 октября 2011

У меня есть элемент select, который я хочу установить на определенное значение при загрузке страницы:

<select id="Town">
<option value="">Select...</option>
<option value="4004">Town A</option>
<option value="4005">Town B</option>
<option value="4006">Town C</option>
<option value="4007">Town D</option>
<option value="4008">Town E</option>
<option value="4003">Town F</option>
</select>

Когда я пытаюсь установить выбранный параметр через эту строку кода:

var SelectedTown = '4005';

jQuery('select#Town>option[value=' + SelectedTown + ']').attr('selected','selected');

он не работает в режиме запуска, я имею в виду, что видимая часть остается «Выбрать ...». Однако, если я запускаю его в режиме отладки Firebug, «Разрыв на линии», а затем «Продолжить» работает, и видимая часть становится «Город».B '.

Я также пробовал следующие строки:

jQuery('select#Town').attr('value',SelectedTown);

jQuery('select#Town').val(SelectedTown);

jQuery('select#Town').val('4005');

, но ни одна из них не работает.

Я использую jQuery 1.6.2.

Есть идеи, где я не прав?

Ответы [ 4 ]

1 голос
/ 23 апреля 2015

Используйте функцию setTimeout для приостановки вашего кода примерно на определенную продолжительность и возобновления,

setTimeout(function(){
    // Your code here
},3000);
0 голосов
/ 26 октября 2011

убрать выделение и добавить пробел между городом и опцией

jQuery('#Town option[value=' + SelectedTown + ']').attr('selected','selected');
0 голосов
/ 26 октября 2011

Похоже, это должно работать нормально. Вот пример урезанного jsfiddle, который работает: http://jsfiddle.net/neilheinrich/BdqUX/

$("select#Town").val("4005");
0 голосов
/ 26 октября 2011

Вы уверены, что ваш JS работает на мероприятии, готовом к документу? Не в строке в HTML? Потому что выглядит так, как будто он может просто потерпеть неудачу, потому что (без отладчика) HTML еще не существует.

...