| 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: 11 let
|
|||
0
).