Меню опций выбора формы Jquery не работает в ie8. ПОМОГИТЕ? - PullRequest
0 голосов
/ 17 августа 2011

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

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

<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>

Спасибо за ваши ответы, но мои нынешние знания jquery ограничены, поэтому мне нужна дополнительная помощь.

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

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

Ответы [ 2 ]

1 голос
/ 17 августа 2011

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

Вот такая же скрипка: 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/

1 голос
/ 17 августа 2011

Вы пытаетесь скрыть выбранный элемент и заменить его выбранным параметром в промежутке после того, как пользователь выбрал элемент? Если это правильно, вот решение ( 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();
})
...