2017-04-06 105 views
0

早上好我的時區。訪問風格背景顏色

我想用所選選項的背景顏色設置標籤的背景顏色。

代碼片斷:

<style> 
    .levelKri1 { 
    background-color:#CCFFCC; 
    } 
    .levelKri2 { 
    background-color:#CCFFFF; 
    } 
</style> 

<select name="matrix" id="matrix" style="visibility: visible;" onChange="alert(this.options[this.selectedIndex].style.backgroundColor)"> 
     <option style="background-color:blue;" selected="selected" value="1">&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</option> 
     <option class="levelKri2" value="2">&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</option> 
</select> 

如果選擇第一個,報警功能打印的backgroundColor 如果選擇第二個,其中,所述背景色上的CSS類的警報定義的一個不打印任何東西

我怎樣才能獲得通過CSS類設置的背景顏色?

Interner Explorer是瀏覽器

預先感謝 問候

回答

0

它的RGB顏色,但希望這有助於

var element = document.getElementById('matrix'); 
 
element.addEventListener("change", function() { 
 
    console.log(window.getComputedStyle(element.options[element.selectedIndex]).backgroundColor); 
 
});
.levelKri1 { 
 
    background-color:#CCFFCC; 
 
} 
 
.levelKri2 { 
 
    background-color:#CCFFFF; 
 
}
<select name="matrix" id="matrix" style="visibility: visible;"> 
 
     <option style="background-color:blue;" selected="selected" value="1">&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</option> 
 
     <option class="levelKri2" value="2">&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</option> 
 
</select>

+0

它適用於Chrome,但IE瀏覽器是瀏覽器客戶端使用,它總是檢索RGB(0,0,0) – tt0686

+0

我通過cl解決方法assName屬性,我從所選的選項中讀取className,然後將其設置爲select元素 – tt0686

0

$("#matrix").change(function() { 
 
    var _color = $(this).children('option:selected').css('backgroundColor'); 
 
    $('#matrix').css('background-color', _color); 
 
});
.levelKri1 { 
 
background-color: #CCFFCC; 
 
} 
 
.levelKri2 { 
 
background-color: #CCFFFF; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<select name="matrix" id="matrix"> 
 
    <option selected="selected">Choose an option</option> 
 
    <option class="levelKri1" value="1">Option 1</option> 
 
    <option class="levelKri2" value="2">Option 2</option> 
 
</select>