x

Re: ol getFeatureByAttribute display: 'none'


Geschrieben von Bany47 (Gast) am 23. März 2016 01:19:51: [flux]

Als Antwort auf: ol getFeatureByAttribute display: 'none' geschrieben von Bany47 (Gast) am 16. Dezember 2015 01:38:

Hi Max!!

Hab es ganz verpennt mich bei Dir zu bedanken!! Deine Hilfe war echt super! Hab die Funktion mal unten aufgeführt. Das $(document).on('click', .... }); ist wegen einer Sortiermöglichkeit über eine Ajax DB-Abfrage notwendig. $(document).ready(function() {...}); funktioniert nicht, wenn die Tabelle in den DOM neu eingefügt wird. Beim Sortieren mit jQuery bleibt bei langen Tabellen das Script hängen. Das ist vielleicht ein kleiner Hinweis von meiner Seite und und im Zusammenhang mit Ajax wichtig zu wissen.

$(document).on('click', '.anausbild1, .anausbild2', function(){

var markerid0 = ($(this).attr("id"));

var meinmarkerid = markerid0.substr(3,8);

var richtig = new Boolean(true);
var anauscss = $(this).hasClass("anausbild1");

$(this).toggleClass("anausbild1");
$(this).toggleClass("anausbild2");

for (var i = 0; i < vL_rot1.features.length; i++){
if(vL_rot1.features(i).data.myid== meinmarkerid){
if(vL_rot1.features(i).style.display=='true'){vL_rot1.features(i).style.display='none'}
else {vL_rot1.features(i).style.display='true'}
if(vL_rot1.features(i).popup){
vL_rot1.features(i).popup.destroy();
vL_rot1.features(i).popup=null;}
}};

for (var i = 0; i < vL_gruen1.features.length; i++){
if(vL_gruen1.features(i).data.myid== meinmarkerid){
if(vL_gruen1.features(i).style.display=='true'){vL_gruen1.features(i).style.display='none'}
else {vL_gruen1.features(i).style.display='true'}
if(vL_gruen1.features(i).popup){
vL_gruen1.features(i).popup.destroy();
vL_gruen1.features(i).popup=null;}
}};

for (var i = 0; i < vL_gelb1.features.length; i++){
if(vL_gelb1.features(i).data.myid== meinmarkerid){
if(vL_gelb1.features(i).style.display=='true'){vL_gelb1.features(i).style.display='none'}
else {vL_gelb1.features(i).style.display='true'}
if(vL_gelb1.features(i).popup){
vL_gelb1.features(i).popup.destroy();
vL_gelb1.features(i).popup=null;}
}};

for (var i = 0; i < vL_rot2.features.length; i++){
if(vL_rot2.features(i).data.myid== meinmarkerid){
if(vL_rot2.features(i).style.display=='true'){vL_rot2.features(i).style.display='none'}
else {vL_rot2.features(i).style.display='true'}
if(vL_rot2.features(i).popup){
vL_rot2.features(i).popup.destroy();
vL_rot2.features(i).popup=null;}
}};

for (var i = 0; i < vL_gruen2.features.length; i++){
if(vL_gruen2.features(i).data.myid== meinmarkerid){

if(vL_gruen2.features(i).style.display=='true'){vL_gruen2.features(i).style.display='none'}
else {vL_gruen2.features(i).style.display='true'}
if(vL_gruen2.features(i).popup){
vL_gruen2.features(i).popup.destroy();
vL_gruen2.features(i).popup=null;}
}};

for (var i = 0; i < vL_gelb2.features.length; i++){
if(vL_gelb2.features(i).data.myid== meinmarkerid){
if(vL_gelb2.features(i).style.display=='true'){vL_gelb2.features(i).style.display='none'}
else {vL_gelb2.features(i).style.display='true'}
if(vL_gelb2.features(i).popup){
vL_gelb2.features(i).popup.destroy();
vL_gelb2.features(i).popup=null;}
}};

if (anauscss == richtig){

for (var i = 0; i < vL_rot1name.features.length; i++){
if(vL_rot1name.features(i).data.myid== meinmarkerid){vL_rot1name.features(i).style = { display: 'none' };}
}

for (var i = 0; i < vL_gelb1name.features.length; i++){
if(vL_gelb1name.features(i).data.myid== meinmarkerid){vL_gelb1name.features(i).style = { display: 'none' };}
}

for (var i = 0; i < vL_gruen1name.features.length; i++){
if(vL_gruen1name.features(i).data.myid== meinmarkerid){vL_gruen1name.features(i).style = { display: 'none' };}
}

for (var i = 0; i < vL_rot2name.features.length; i++){
if(vL_rot2name.features(i).data.myid== meinmarkerid){vL_rot2name.features(i).style = { display: 'none' };}
}

for (var i = 0; i < vL_gelb2name.features.length; i++){
if(vL_gelb2name.features(i).data.myid== meinmarkerid){vL_gelb2name.features(i).style = { display: 'none' };}
}

for (var i = 0; i < vL_gruen2name.features.length; i++){
if(vL_gruen2name.features(i).data.myid== meinmarkerid){vL_gruen2name.features(i).style = { display: 'none' };}
}

}

else {

for (var i = 0; i < vL_rot1name.features.length; i++){
if(vL_rot1name.features(i).data.myid== meinmarkerid){vL_rot1name.features(i).style = null;}
}

for (var i = 0; i < vL_gelb1name.features.length; i++){
if(vL_gelb1name.features(i).data.myid== meinmarkerid){vL_gelb1name.features(i).style = null;}
}

for (var i = 0; i < vL_gruen1name.features.length; i++){
if(vL_gruen1name.features(i).data.myid== meinmarkerid){vL_gruen1name.features(i).style = null;}
}

for (var i = 0; i < vL_rot2name.features.length; i++){
if(vL_rot2name.features(i).data.myid== meinmarkerid){vL_rot2name.features(i).style = null;}
}

for (var i = 0; i < vL_gelb2name.features.length; i++){
if(vL_gelb2name.features(i).data.myid== meinmarkerid){vL_gelb2name.features(i).style = null;}
}

for (var i = 0; i < vL_gruen2name.features.length; i++){
if(vL_gruen2name.features(i).data.myid== meinmarkerid){vL_gruen2name.features(i).style = null;}
}

}

vL_rot1.redraw(); vL_rot1name.redraw();
vL_gelb1.redraw(); vL_gelb1name.redraw();
vL_gruen1.redraw(); vL_gruen1name.redraw();
vL_rot2.redraw(); vL_rot2name.redraw();
vL_gelb2.redraw(); vL_gelb2name.redraw();
vL_gruen2.redraw(); vL_gruen2name.redraw();

});

Ansonsten kann ich Dir jQuery nur sehr empfehlen. Es erleichtert die Arbeit mit js enorm! Die eckigen Klammern mußte ich im Beitrag in runde Klammern ändern.

Schönes Ostern Stefan