2014-01-13 24 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