JQuery выбрать окно проблемы с Internet Explorer - PullRequest
2 голосов
/ 01 марта 2010

Хорошо, это может быть действительно странной проблемой. Я пишу веб-приложение и хочу изменить значение определенного поля выбора:

<select name="type" class="type">
<option value="word">word</option>
<option value="digit">digit</option>
<option value="letter">letter</option>
<option value="single">single character</option>
<option value="space">space</option>
</select>

В моем коде у меня есть это:

switch ( target ) {
case "d":
$("select").val('digit');
break;
case "w":
$("select").val('word');
break;
case "s":
$("select").val('space');
break;
}

Вот проблема. Этот код работает, как и ожидалось, во всех браузерах ... кроме IE. Internet Explorer (8, если вам интересно) обрабатывает их все правильно, за исключением части $ ("select"). Val ("digit"). Это просто не изменит значение по какой-то причине. Синтаксический анализатор javascript правильно переключается на этот случай в коммутаторе и всем, но он отказывается изменять значение поля выбора для этого одного случая. У кого-нибудь есть идеи?

Ответы [ 2 ]

5 голосов
/ 01 марта 2010

Вы пробовали

$('select').find('option[value=digit]').prop('selected', true); // and etc.

вместо этого?

edit ну, я бы, наверное, сам попробовал, потому что это только я, но, глядя на исходный код jQuery, он все равно делает это для вас. (То есть jQuery не просто пытается установить атрибут «value» для тега <select>, который, я думаю, работает в FF, но не в IE.)

edit more Хорошо, я настроил тестовую страницу, и она отлично работает для меня в FF, а также в IE8. Вы можете посмотреть мою тестовую страницу здесь: http://gutfullofbeer.net/select.html

изменить & mdash; 12 июля 2012 г. - & mdash; .prop() предпочтительнее сейчас (jQuery 1.6), поэтому я обновил пример.

0 голосов
/ 01 марта 2010

Вы можете попробовать добавить слово «выбранный» в параметр, который вы хотите показать, вместо изменения значения тега выбора. Вы бы хотели, чтобы HTML-код опции выглядел как ...

<option selected value="word">word</option>

Где слово в теге не имеет значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...