2014-01-13 19 views
0

我正在使用html multiple作为多个选择框下拉菜单。 点击任何选项,我会添加css类permissionsSelection,将其背景颜色更改为黄色,以显示选定的选项。 如果所选的选项再次点击它得到选择,而类permissionsSelection删除对于多个选择框选项的HTML“多个”不能识别点击以及jquery的委托功能

CSS

.permissionsSelection{ 
    background:yellow; 
} 

jQuery的

$("#availablePermissions").delegate(".permissions", "click", function(e) { 

     if($(this).hasClass("permissionsSelection")){ 
      $(this).removeClass("permissionsSelection"); 
     } 
     else{ 
      $(this).addClass("permissionsSelection"); 
     } 

    }); 

HTML

<select class="multipleSelectBox" multiple name="availablePermissionsEdit" id="availablePermissionsEdit">        <option id="itemId1Edit1" value="option1" class="permissions">option1</option> 
<option id="itemId1Edit2" value="option2" class="permissions">option2</option>           <option id="itemId1Edit3" value="option3" class="permissions">option3</option>  
</select> 

在所有浏览器中都能正常工作。像往常一样在IE8不工作。

点击委托功能不会触发,我也试过活,点击代替委托,但他们都没有为我工作。

请帮助挽救我的IE

+0

如果你想urself挽救IE从系统中删除它 – Zword

+0

笑..这就是项目的要求:( – mayank

+0

的jQuery的版本是您使用? – showdev

回答

1

在IE borwser选择>选项单击事件没有作用,如果你想实现,那么请使用有针对性的活动选择的价值,请试试这个代码

$(window).load(function() { 
    $("#availablePermissionsEdit").on("click", function(e) { 
    $target = $(this).find("option[value="+this.value+"]"); 
    if ($target.hasClass("permissionsSelection")) { 
     $target.removeClass("permissionsSelection"); 
    }else { 
     $target.addClass("permissionsSelection"); 
    } 
}); 

});

注意请确保选项值应该唯一。

JSFIDDLE DEMO

+0

这个小提琴网站演示不工作在IE8 ..页面得到搞砸 – mayank

+0

这是工作正常在铬,我知道它会:) – mayank

+0

@mayank小提琴将无法在ie8中工作,你可以下载最新的jquery和小提琴代码在本地系统上运行ie8 – Girish