Am un tabel cu x coloane si y randuri,tabel ce are celule ce au clasa(class) .table_cell.
Cand dau click pe o celula clasa este convertita intr-o variabila(cell_control) cu ajutorul jQuery,dar este luata ca this pt ca se refere doar la celula respective si nu la tot tabelul.
Cand se face click pe o celula se deschide un div si in acel div se afla input-uri cu care poti modifica proprietatile celulei respective(ex:font-family,color,background-color).Cand dai click pe o alta celula goala proprietatile se reseteaza,dar daca dau click pe celula anterioara proprietatile sa nu fi resetate(sa retina proprietati pt fiecare celula in parte).Am facut asta pt font-family,value(continut celula),dar cu culorile nu merge.
Culorile sunt selectate dintr-un input color(care returneaza in HEX,iar culoarea celului returnata de jquery este in RGB)
un exemplu,pt tex-ul din celulat:
if( cell_control.html() == " " ) {
$("#cell_value").val("");
}
else {
$("#cell_value").val(cell_control.html());
}
cell_control
este celula, #cell_value
este input text-ul unde se introduce valoarea celulei
dar la culoare nu merge
if( cell_control.css("color") == "rgb(0, 0, 0)" ) {
$("#cell_textColor").val("#000000");
}
else {
$("#cell_textColor").val(rgbToHex(String(cell_control.css("color"))));
}
culoarea celului este setata cu css la rgb(0, 0, 0)
, #cell_textColor
este input color, rgbToHex
este o functie luata de pe stackoverflow pt a converti RGB in HEX(asa intelege input color-ul).
Problema este daca merge pe else(daca textul din celula are o alta culoare decat cea default-negru in cazul de fata).
function rgbToHex(r, g, b) {
return "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
}