抱歉......我知道有数百个这样的问题......但我还没有找到一个可以回答我正在尝试做的事情。
CSS
.inputtable {
background-color: #ffff66; // yellow
}
.inputtable[ disabled ] {
background-color: #ddd; // greyed-out
}
JQuery
ajaxGetAddresses.done(function( data, textStatus ) {
console.log( 'data length: ' + data.length );
// clear the select
var s2 = $( '#add_select' );
s2.empty();
if( data.length > 1 ){
// ... select will be "live"
s2.prop( 'disabled', false );
//s2.css( 'background-color', '#ffff66' );
s2.css( 'background-color', '.inputtable background-color' );
} else {
s2.prop( 'disabled', true );
// s2.css( 'background-color', '#ddd' );
s2.css( 'background-color', '.inputtable[disabled] background-color' );
}
我希望这是有道理的:如果 data
中有 0 个或 1 个元素(数组),那么我希望禁用 SELECT
。并且背景是灰色的。否则我希望它有黄色背景,表明它可以使用。
用于设置 background-color
的 css 命令的“硬编码”版本工作正常...我只是不知道如何“检索”background-来自此类的颜色
值(正常和禁用)。
额外的细节
HTML 看起来像这样:
<div id="div1" >
<div id="select_div" ><u>S</u>elect:
<select id="secondname_dropdown" size="1" class="inputtable" ></select>
</div>
</div>
...
<div id="address_number">
Address <select id='add_select' class='inputtable' ></select>
of <span id='number_of_addresses' ></span>
</div>
最佳答案
试试这个可能对你有帮助。
ajaxGetAddresses.done(function( data, textStatus ) {
console.log( 'data length: ' + data.length );
// clear the select
var s2 = $( '#add_select' );
s2.empty();
if( data.length > 1 ){
// ... select will be "live"
s2.prop( 'disabled', false );
//s2.css( 'background-color', '#ffff66' );
s2.addClass( 'inputtable' );
} else {
s2.prop( 'disabled', true );
// s2.css( 'background-color', '#ddd' );
s2.addClass( 'inputtable').attr("disabled", 'disabled');
}
关于JQuery css() 选择器从类中设置背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44206747/