Bonjour,
Voilà mon problème : j'ai un tableau pour lequel je veux appliquer un filtre de sélection jquery sur les cellules <td>. Après quelques recherche, j'ai jeté mon dévolu sur la fonction filter() de jquery qui m'a l'air tout a fait adapté a cette utilisation. Mais pas moyen de la faire fonctionner avec une fonction : .filter(function)
Le filtre se fait sur l'id des td qui doivent correspondre à une regex. Le but étant de ne récupéré uniquement que certaines cellules, et leur appliquer par la suite une modification css : ici par exemple ajout d'une bordure rouge.
Auriez vous une piste a me fournir??
Code html du tableau :
Code JS :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80 <table class="current_container_table" border="1"> <tr> <td> <img src="/icones/16x16/MG.png"/> </td> <td> <b>1</b> </td> <td> <b>2</b> </td> <td> <b>3</b> </td> <td> <b>4</b> </td> <td> <b>5</b> </td> </tr> <tr id="current_container_table_L_1_S_1"> <td> <b>A</b> </td> <td id="current_container_table_C_1_L_1_S_1" class="shema_cell shema_empty_cell" align="center"> <br/> </td> <td id="current_container_table_C_2_L_1_S_1" class="shema_cell shema_empty_cell" align="center"> <br/> </td> <td id="current_container_table_C_3_L_1_S_1" class="shema_cell shema_empty_cell" align="center"> <br/> </td> <td id="current_container_table_C_4_L_1_S_1" class="shema_cell shema_empty_cell" align="center"> <br/> </td> <td id="current_container_table_C_5_L_1_S_1" class="shema_cell shema_empty_cell" align="center"> <br/> </td> </tr> <tr id="current_container_table_L_2_S_1"> <td > <b>B</b> </td> <td id="current_container_table_C_1_L_2_S_1" class="shema_cell shema_empty_cell" align="center"> <br/> </td> <td id="current_container_table_C_2_L_2_S_1" class="shema_cell shema_empty_cell" align="center"> <br/> </td> <td id="current_container_table_C_3_L_2_S_1" class="shema_cell shema_tube_cell" align="center"> <br/> </td> <td id="current_container_table_C_4_L_2_S_1" class="shema_cell shema_empty_cell" align="center"> <br/> </td> <td id="current_container_table_C_5_L_2_S_1" class="shema_cell shema_empty_cell" align="center"> <br/> </td> </tr> </table>
Au final, ben il ne se passe rien. Aucunes cellules ne voient sa bordure modifiée. Pourtant, un alert(reg.test($(this).attr('id'))) dans la fonction du .filter(function) me renvoie bien le booléan !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function my_function() { var reg = new RegExp("^current_container_table_C_[0-9]_L_1_S_"); $('table.current_container_table tr#current_container_table_L_1_S_1 td.shema_cell').filter(function() { return reg.test($(this).attr('id')); } ).css('border', 'solid red 2px'); }Strange is'nt it? Je pense que l'erreur vient de la mauvaise utilisation de cette fonction filter().
merci d'avance![]()
Partager