Preluare date din linie tabel html afisat cu Ajax
Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
-
andras
- Mesaje: 430
Preluare date din linie tabel html afisat cu Ajax
Salut,
Din ajax() imi rezulta randurile unui tabel html:
Cod: Selectaţi tot
<?php
$re_html ='';
while($rand = mysql_fetch_assoc($rezultateistoric)) {
$re_html .='<tr >';
$re_html .='<td style="color: #BFBFBF;font-weight:bold;word-wrap: break-word;width:330px;">'.$rand['pn'].' </td>';
$re_html .='<td style="color: #BFBFBF;font-weight:bold;word-wrap: break-word;width:340px;">'.$rand['denumire'].' </td>';
$re_html .='</tr>';
}
echo $re_html;
?>
Pe care il pun in pagina in tabel html intr-un div:
Cod: Selectaţi tot
<div style="overflow-y:auto;height:60%;" >
<table cellspacing="0" cellpadding="0" frame="box" rule="all" style="height:10%;border: 5px solid #DBDBDB;" >
<tbody id="idistoric" class="clickable" >
<!-- aici vine rezultatul functiei ajax() -->
</tbody>
</table>
</div>
Folosesc acest cod javascript/jquery sa accesez coloana pe care se da clic:
Cod: Selectaţi tot
<script type="text/javascript">
$(document).ready(function() {
$('.clickable tr td').on('mousedown', function (e) {
clickableRowListener(this, e);
});
});
function clickableRowListener(that, e) {
alert('salut');
}
</script>
Cum preiau datele unei linii pe care dau click intr-o tabela html venita din ajax() bazindu-ma numai pe table.row
.cells[0] si table.row.cells[1] ?
Am n linii in functie de numarul de inregistrari din BD si am 2 coloane, cells[0] respectiv cells[1]. Valoarea acestora vreau sa preiau cu jQuery. Sau se poate si altfel? Multumesc.
MarPlo
Mesaje: 4343
Salut
Daca randurile de tabel sunt afisate prin ajax, ca sa preiei in javascript datele unei coloane pe care se da clic, cel mai usor e sa adaugi atributul "onclick" in tag-urile <td> cand le creezi pe server (in php) prin care trimiti obiectul acelui element la o functie JS din acea pagina.
De exemplu, in php:
Cod: Selectaţi tot
$re_html .='<td class="clasa_pt_css" onclick="numeFun(this);">'.$rand['pn'].' </td>';
Iar in <script> din pagina creezi functia accesata:
andras
Mesaje: 430
Functioneaza, dar as vrea sa mai fac un pas, sa preiau din linia respectiva (in care dau click) ambele <td>-uri (am 2 coloane) in variabile separate in JS. Cum fac asta? Multumesc.
MarPlo
Mesaje: 4343
Se poate adauga atributul "onclick" in tag-ul <tr>, apoi te poti folosi de functia din acest exemplu:
Cod: Selectaţi tot
<table border="1">
<tr onclick="lineData(this);">
<td class="clasa_pt_css"> col1</td>
<td class="clasa_pt_css"> col2</td>
</tr>
</table>
<script>
function lineData(elm){
var cols = elm.querySelectorAll('td'); // get columns from elm (row)
var c1_cnt = cols[0].innerHTML; // content 1st column
var c2_cnt = cols[1].innerHTML; // content 2nd column
// test
alert(c1_cnt +' / '+ c2_cnt);
}
</script>
Demo:
andras
Mesaje: 430
Ca de obicei solutiile date de tine ma ajuta mult. De dimineata ma chinui sa gasesc o varianta. Multumesc mult.
Subiecte similare
-
Pozitionare Div-uri fixe cu Flex pe linie
HTML - XHTML - CSS
Primul mesaj
Salut!
Sunt destul de incepator si am un div in html care contine alte doua div-uri: un numar de telefon si o adresa de e-mail pe acelasi rand....
Ultimul mesaj
Merci! A mers!
oricum sunt cu ochii si pe tutorialele tale :)
-
Valoarea id-ului din HTML atribuită unei variabile php
PHP - MySQL - XML
Primul mesaj
Încerc să extrag valorile id= min5 , id= max5 si să le pun în $_GET $_GET fara trimitere în altă pagină
cum aș putea proceda?
<div class=...
Ultimul mesaj
Nu prea inteleg ce vrei sa faci.
Codul php se executa pe server inainte de a fi pagina cu codul html si javascript.
In php, valorile pentru...