在ie8中,Jquery表单选择选项菜单不起作用。救命?

时间:2011-08-16 22:35:27

标签: jquery drupal select option

感谢您的帮助!有人可以在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-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>

感谢您的回复,但我目前对jquery的了解有限,所以我需要更多的帮助。

此外,我的许多页面都包含多个选择菜单,因此我无法在页面上的所有表单中显示文本。

我需要的一个例子是: https://www.att.com/olam/passthroughAction.myworld?actionType=TvProductLandingPage&gnLinkId=s1003在他们的下拉菜单中。

2 个答案:

答案 0 :(得分:1)

您是否尝试消除选择元素并在用户选择元素后用span中的选定选项替换它?如果这是正确的,这是一个解决方案(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();
})

答案 1 :(得分:1)

我认为他在选择下拉列表中的某些内容时会尝试添加一个范围..因为您需要绑定一个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/