Come potete vedere nella storia delle mie domande di recente, sto cercando di capire Jquery/Javascript :) Mi imbatto nel seguente problema e vorrei proporlo a voi ragazzi.Bootstrap table-striped non cambia colore
Ho la seguente tabella (nota: questo è il codice HTML afferrato per ispezionare elemento, io non sono sicuro perché style = "background-color: rgb (255, 255, 255); è lì ..):
<table class="table table-striped table-condensed" id="instance-table">
<thead>
<tr id="checkrow">
<th><input type="checkbox" id="checkall"></th>
<th>Column A</th>
<th>Column A</th>
<th>Column A</th>
</tr>
</thead>
<tbody id="instanceInnerContent">
<tr style="background-color: rgb(255, 255, 255);">
<td class="act"><input type="checkbox"></td>
<td>Value 1</td>
<td>Value 2</td>
</tr>
<tr style="background-color: rgb(255, 255, 255);">
<td class="act"><input type="checkbox"></td>
<td>Value 1</td>
<td>Value 2</td>
</tr>
</tbody>
</table>
e utilizzando il seguente codice per selezionare la riga o selezionarli tutti o selezionate nel braccio clic:?
// if user clicks on checkbox with id="checkall" - all checkboxes are selected
// and table row background is highlighted
$('body').on('click', '#checkall', function() {
$('input:checkbox:not(#checkall)').prop('checked',this.checked);
if ($(this).is(':checked') == true) {
$("#instance-table").find('tr:not(#checkrow)').css("background-color","#ccc");
//$('#instance-action').removeAttr('disabled');
} else {
$("#instance-table").find('tr:not(#checkrow)').css("background-color","#fff");
//$('#instance-action').attr('disabled', 'disabled');
}
});
// if user clicks on checkbox, diffrent than checkbox with id="checkall" ,
// then checkbox is checked/unchecked
$('body').on('click', 'input:checkbox:not(#checkall)', function() {
if($("#checkall").is(':checked') == true && this.checked == false) {
$("#checkall").prop('checked',false);
$(this).closest('tr').css("background-color","#ffffff");
}
if(this.checked == true) {
$(this).closest('tr').css("background-color","#ccc");
//$('#instance-action').removeAttr('disabled');
// function to check/uncheck checkbox with id="checkbox"
CheckSelectAll();
}
if(this.checked == false) {
$(this).closest('tr').css("background-color","#ffffff");
//$('#instance-action').attr('disabled', 'disabled');
}
});
// if user clicks, someware on table row, checkbox is checked/unchecked
// and table row background is highlighted or not
$('body').on('click', '#instance-table tbody tr', function() {
var this_row = $(this);
var checkbox = this_row.find('input:checkbox');
if (event.target.type !== 'checkbox') {
if (checkbox.is(':checked') == false) {
checkbox.prop('checked', true);
this_row.css("background-color","#ccc");
//$('#instance-action').removeAttr('disabled');
CheckSelectAll();
} else {
checkbox.prop('checked', false);
this_row.css("background-color","#fff");
//$('#instance-action').attr('disabled', 'disabled');
CheckSelectAll();
}
}
});
function CheckSelectAll() {
var flag = true;
$('input:checkbox:not(#checkall)').each(function() {
if(this.checked == false)
flag = false;
//console.log(flag);
});
$("#checkall").attr('checked',flag);
}
Ma in qualche modo la riga della tabella a strisce non viene evidenziato, come mai e mentre il codice è già qui, ho anche un problema in cui non controlla la casella di controllo checkall se Controllo ogni riga manualmente. Funziona quando controllo manualmente la casella di controllo del check-in, deseleziona ogni casella di controllo e poi controlla manualmente ogni riga nuovamente. Non riesco a trovare l'errore.
Così il vostro problema è che 'style = "background-color: rgb (255, 255, 255);"' viene aggiunto una riga o che la riga non è evidenziata? – kidwon
Mi spiace, il vero problema è che la riga che viene barrata dal bootstrap non è evidenziata quando quella riga è selezionata. Le forze che sono opere bianche. Non sono sicuro se 'style =" background-color: rgb (255, 255, 255); "sta aggiungendo al problema. – Tristan
non hai aggiunto stili al tuo tavolo quindi, penso che stia dando uno sfondo bianco predefinito! rgb (255, 255, 255) = bianco: P –