Hallo,
na super, jetzt komme ich der ganzen Sache schon sehr viel näher.
da ich mich wohl fachmännisch unkorrekt ausgedrückt habe habe ich noch eine Frage zu deiner Anmerkung
Ja, richtig. Allerdings ist dein Codeschnipsel nicht valide, da id's über ein gesamtes document hinweg eindeutig sein müssen. Hier wäre für row1,row2 statt id eher class angebracht.
Genau, so dachte ich das auch
Ich muss kurz meinen Gedankengang erklären damit Du mir meinen Denkfehler beschreiben kannst
da ich ja
stets immer ein Elternelement habe was eindeutig ist und zwar im gesamten geladenen HTML-Dokument, dachte ich, ich könne dann stets über dieses die Zeilen finden auch wenn diese nicht eindeutig sind im Gesamt-Dokument. Da sie ja eindeutig im dazugehörigen Eltern-Element sind.
So wie Du es oben monierst, wäre wohl dann bei solch einer Vorgehensweise eine Deklarierung über class= besser.
Wieso? dort würde dann docj auch nur class="row1" bzw. row2 stehen
es würde dann nur so aussehen
<div class="box1">
<div class="row1>
<input type="text" name="phsuessmin"/>
</div>
<div class="row2>
<input type="text" name="phsuessmin"/>
</div>
</div>
<div class="box2">
<div class="row1>
<input type="text" name="phsuessmin"/>
</div>
<div class="row2>
<input type="text" name="phsuessmin"/>
</div>
</div>
Unter oben genanntem Vorbehalt, ja. Vorausgesetzt die jQuery-Funktion find findet immer nur ein Element.
das von mir, war nur ein Beispiel. Da ich mehrere Eingabefelder habe die jedoch im Mittelteil des name="*sues*" oder eben *salz* stehen haben kann ich das ganze unter jQuery mit each durchforsten.
wenn ich dazu noch den aus dem Button data-row oder data-boxid usw. mir mit übergeben lasse, kann ich nun direkt in der entsprechenden Zeile suchen, so finde ich nur das was ich brauche und muss nicht 100 Filter einbauen wie ich das bis jetzt hatte.
Da ich stets immer die gleichen Buttons verwendet ermittle ich nun (ist nun auch fast erledigt) aus welchem Eltern-Element also welcher box der Button abgefeuert wurde, ziehe mir die data- und suche so dann in den Felder
gut oder?
wie kann ich nun direkt auf eine Zeile z.B. row-2 zugreifen
wenn ich nur die Zeile row-2 aus box1 ) möchte ?
das habe ich nun so gemacht
Hoffe diese Schreibweise ist nicht zu chaotisch, aber in der ersten Testumgebung funktioniert es
$( "#box"+box+" div:nth-child("+row+") input[name*='Salz']" ).each(function(){
var name = $(this).attr("name");
var id = $(this).attr("id");
var val = $(this).val();
alert("Button 1 in Box "+box+" mit row = "+row+" mit text "+val);
});
da ich aber nun noch das Problem hatte das ich ja wissen muss von welchem Button aus geklickt wurde
da es ja nur 2 versch. Buttons gibt also Button1 und Button2 diese aber in der einen Registerkarte schon mal geladen wurden konnten und in der nächsten Registerkarte wieder geladen werden können
ermittle ich diese nun mit
Dabei habe ich nun den die Buttons als button declariert und nicht mehr als <input
wenn ich den Button ermittelt habe, übergebe ich dann die gefundenen data- Werte an die jQuery Suchfunktion mit dem each
(siehe oben) ich muss es jetzt nur noch richtig zusammensetzen aber von der Grundidee sollte es gehen oder?
$(':button').click(function(){
welcherbutton(this);
});
function welcherbutton(btn){
id = $(btn).val();
var klasse = $(btn).attr('class');
var box = $(btn).attr('data-box');
var row = $(btn).attr('data-row');
alert("es wurde der button aus box: "+box+" und aus zeile : "+row+" geklickt mit class :"+klasse+" und id "+id)
}
JavaScript:
document.querySelector('#box1 .row2')
Und unter jQuery wahrscheinlich:$('#box1 .row2')
so habe ich das doch fast schon oben gemacht oder?
gut es war ein reiner Zufall durch ewiges probieren.
aber werde mal im Netz nach Deinem Hinweis suchen damit ich es besser kapiere wie das genau funktioniert
Grüße
jtzt bin ich wieder ein wenig glücklicher :)