Autor | Zpráva | ||
---|---|---|---|
Pája Profil * |
<?php for ($i=0 ; $i<$denik_num ; $i++){ $id = MySQL_Result($denik, $i,"id"); $cis_radku = MySQL_Result($denik, $i,"cis_radku"); ?> <tr id="id1"> <td><input type="text" id="id" value="<?php echo $id;?>" name="id[]" size="10" onMouseDown="return zvyrazni_radek()" onkeypress="return tabE(this,event)"></td> <td><input type="text" id="cis_radku" value="<?php echo $cis_radku;?>" name="cis_radku[]" size="10" onkeypress="return tabE(this,event)"></td> </tr> <?php } ?> function zvyrazni_radek() { var $iddd=document.getElementById('id').value; //var $result = ''; $('tr input').each(function(){ result += $(this).attr('id')+'='+$(this).val()+'&' }) alert (id); if(document.getElementById('id').value == $iddd) { document.getElementById('id1').style.backgroundColor='#003F87'; } } potřeboval bych, aby se mi po kliknutí myší na ID v jakémkoliv řádku změnilo pozadí daného řádku.... zatím se mi mění vždy první řádek.... díky moc za pomoc Moderátor juriad: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na
![]() |
||
juriad Profil |
Pája:
Nepotřebuješ id. Nikde. Změníš parametr onmousedown na: return zvyrazni_radek(this) A funkci upravíš na: function zvyrazni_radek(td) { var tr = td.parentNode; tr.classList = (tr.classList == 'zvyrazneny' ? '' : 'zvyrazneny'); } A pak vytvoříš třídu v CSS: .zvyrazneny { background-color: #003F87; } Proměnné v JS obvykle nezačínají dolarem. |
||
Pája Profil * |
#3 · Zasláno: 24. 3. 2015, 17:20:11
juriad:
díky za zájem pomoct, ale byť jsem udělal vše, co jsi napsal, tak to nedělá už vůbec nic... :-( předtím to aspoň zvýraznilo, byť vždy jen první řádek (bez ohledu na který se kliklo...) function zvyrazni_radek(td) { var tr = td.parentNode; tr.classList = (tr.classList == 'zvyrazneny' ? '' : 'zvyrazneny'); } ?> <tr> <td><input type="text" id="id" value="<?php echo $id;?>" name="id[]" size="10" onMouseDown="return zvyrazni_radek(this)" onkeypress="return tabE(this,event)"></td> <td><input type="text" id="cis_radku" value="<?php echo $cis_radku;?>" name="cis_radku[]" size="10" onkeypress="return tabE(this,event)"></td> CSS mám v tomto souboru načten takto: <link href="css/default.css" rel="stylesheet" type="text/css"> a v CSS: .zvyrazneny{ background-color: #003F87; } co je chybně? :-) Díky. |
||
Chamurappi Profil |
Reaguji na Páju:
Kolega juriad omylem napsal classList místo className .
Pokud se má měnit třída řádku, tak bude potřeba ještě jeden parentNode , protože onmousedown je na <input> u (tedy ne na <td> ) a jeho rodičem není <tr> .
|
||
Pája Profil * |
#5 · Zasláno: 24. 3. 2015, 18:46:57
Chamurappi:
díky :-) změnil jsem to takto: function zvyrazni_radek(td) { var tr = td.parentNode; tr.className = (tr.className == 'zvyrazneny' ? '' : 'zvyrazneny'); } a na co kliknu, to se zvýrazní.... paráda :-) ale potřebuji, aby se zvýraznil celý řádek.... momentálně se zvýrazní pouze jedna buňka, konkrétně ta id, kde je v tom <input>u onMouseDown..... jak zvýraznit všechny sloupce v celém řádku? děkuji |
||
juriad_ Profil * |
#6 · Zasláno: 24. 3. 2015, 18:51:44
3. radek:
td.parentNode.parentNode A prosim prejmenuj tpomennou td na input. Nevsiml jsem si ze onmousedown neni na bunce. |
||
Pája Profil * |
#7 · Zasláno: 24. 3. 2015, 19:06:59
juriad:
děkuji pánové :-) takhle to chodí.... :-) function zvyrazni_radek(td) { var tr = td.parentNode.parentNode; tr.className = (tr.className == 'zvyrazneny' ? '' : 'zvyrazneny'); } |
||
Časová prodleva: 10 let
|
0