Меню выбора формы Jquery не работает в ie8. ПОМОЩЬ?

Спасибо за вашу помощь! Может ли кто-нибудь протестировать мой код в IE8. Мой клиент отправил скриншоты меню выбора формы, и весь текст, кажется, копируется в span.menuBg. Я провел обширное тестирование во всех версиях IE и не могу воспроизвести проблему. Я даже пробовал Vista ie8 и 7 ie8. (клиент на win 7 ie8.)

РЕДАКТИРОВАТЬ: ОБНОВЛЕНО

  $(".form-item:has('select')").each(function() {
     $(this).addClass('selector');
     $(this).find('select').css({opacity: 0});
  });

  $(".form-item").click(function() {
     var str = "";
     $("select option:selected",this).each(function() {
          str += $(this).text() + "";
      });
     $(".menuBg",this).text(str);
  });
  $('.form-item').trigger('click');

Источник: http://api.jquery.com/selected-selector/ РЕДАКТИРОВАТЬ: хорошо сейчас это работает отчасти потому, что на страницах с несколькими .form-select text() копируется в другие меню.

Я просто пытаюсь вставить выбранный параметр в диапазон каждый раз, когда я нажимаю

<div class="form-item selector">
 <span class="menuBg"><!--Insert here--></span>
  <label for="edit-group-schedule-group-0-field-admin-schedule-status-value">
   Set status: 
  </label>
<select id="edit-group-schedule-group-0-field-admin-schedule-status-value" class="form-select" name="group_schedule_group[0][field_admin_schedule_status][value]" style="opacity: 0;"><option value="">- None -</option><option selected="selected" value="0">Pending</option><option value="1">Pre-approved</option></select>

Thanks for your responses so far but my current knowledge of jquery is limited so i need a little more help.

Кроме того, многие из моих страниц содержат несколько меню выбора, поэтому я не могу отображать текст во всех формах на странице.

пример того, что мне нужно, находится здесь: https://www.att.com/olam/passthroughAction.myworld?actionType=TvProductLandingPage&gnLinkId=s1003 в раскрывающемся меню.


person arkjoseph    schedule 16.08.2011    source источник
comment
Вы пытаетесь скрыть выбранный элемент и заменить его выбранным параметром в диапазоне после того, как пользователь выбрал элемент? Если я правильно понял, то могу тебе помочь.   -  person Mohsen    schedule 17.08.2011
comment
Какая у вас наценка? Что должно произойти, шаг за шагом, если кто-то выберет определенный вариант?   -  person David says reinstate Monica    schedule 17.08.2011


Ответы (2)


Вы пытаетесь скрыть выбранный элемент и заменить его выбранным параметром в диапазоне после того, как пользователь выбрал элемент? Если это так, вот решение (fiddle):

HTML:

<div id="myDiv">
    <select class="mySelect">
        <option>Option 1</option>
        <option>Option 2</option>
        <option>Option 3</option>
    </select>
</div>

jQuery:

$('.mySelect').change(function(){
    var selectedOption = $(this).text();
   $('#myDiv').append($('<span/>').text(selectedOption ));
    $(this).hide();
})
person Mohsen    schedule 16.08.2011
comment
Просто упомянем, что .val() обычно следует использовать для выбора значения, установленного для параметра. я понимаю, что в противном случае по умолчанию используется текст .. - person Baz1nga; 17.08.2011

Я думаю, что он пытается добавить диапазон, когда что-то в раскрывающемся списке выбрано.. для этого вам нужно связать событие выбора, а в функции обратного вызова сделать необходимое.

Вот скрипт для того же: http://jsfiddle.net/9ek7E/

Измените его на это:

$(".form-select").change(function () {
  var str = "";
  str +=$(this).find("option:selected").text() + " ";
  $(".menuBg").text(str);
}) .trigger('change');

вам нужно использовать это ключевое слово, а также я упростил ваш код, который вам не нужно делать для каждого выбранного параметра, поскольку это один элемент. Вот обновленная скрипта: http://jsfiddle.net/9ek7E/1/

person Baz1nga    schedule 16.08.2011
comment
Диапазон уже добавлен, мне просто нужно вставить текст значения параметра. позвольте мне взглянуть на ваши ответы до сих пор. - person arkjoseph; 17.08.2011
comment
хорошо, тогда напишите селектор в диапазоне и установите html или текст как $span.html($selectedOption.text()) или $span.text($selectedOption.text()) соответственно - person Baz1nga; 17.08.2011
comment
Я все еще могу понять это, я обновлю свой первоначальный вопрос - person arkjoseph; 17.08.2011