pludan
Goto Top

Java Skript Felder einblenden mit zwei Bedinungen

Hallo

Ich muss ein Formular kreieren. An einem punkt müssen zwei Radio Button angeklickt werden damit ein Feld eingeblendet wird.

Mit einer Bedingung funktioniert dies einwandfrei.

$('#tblzweitesgearet').on('ifChecked', function() {
$("#tblbegruendung_text").fadeIn();
$("#tblbegruendung").fadeIn();
zweitesgearedaktiv = 1;

Wie kann ich eine zweite Bedingung hinzufügen das erfüllt sein muss ?

Vielen Dank für eure Hilfe

Beste grüsse Daniel

Content-Key: 342666

Url: https://administrator.de/contentid/342666

Ausgedruckt am: 28.03.2024 um 13:03 Uhr

Mitglied: 133417
133417 06.07.2017 aktualisiert um 17:29:07 Uhr
Goto Top
Schon mal was von einer IF-Abfrage gehört?

Gruß
Mitglied: Pludan
Pludan 07.07.2017 um 07:56:19 Uhr
Goto Top
Hallo

Vielen Dank für den Tipp. Ich bin Neuling mit js und bringe dies so nicht hin.

Grüsse Daniel
Mitglied: Pludan
Pludan 07.07.2017 um 08:28:28 Uhr
Goto Top
Nun habe ich den Code so: $('#tblzweitesgearet') && $('#tblspm_ober_info').on('ifChecked', function(){

jetzt ist es so das dass Feld auch eingeblendet wird wen nur eins von den Bedingungen angeklickt wird.

Weis jemand wie ich in schreiben muss, das das Feld nur eingeblendet wird wen beide Radio Button angeklickt sind?

Vielen Dank
Beste Grüsse Daniel
Mitglied: 133417
133417 07.07.2017 um 10:25:34 Uhr
Goto Top
Die IF-Abfrage gehört natürlich in die Event-Function und natürlich musst du die "checked" Eigenschaft des Controls abfragen nicht nur das Control referenzieren!
Mitglied: Pludan
Pludan 07.07.2017 um 11:49:45 Uhr
Goto Top
Vielen Dank für die Info. Kannst du mir das zeigen ? Ich bin noch ein Frischling
Mitglied: 133417
133417 07.07.2017 aktualisiert um 15:32:31 Uhr
Goto Top
Ich bin noch ein Frischling
Schön, ich hab da nämlich noch jede Menge altes Brot in der Schublade für dich face-smile.
Und bei der Hitze immer schön im Schlamm wälzen nicht vergessen face-big-smile.

<!doctype html>
<html>
<head>
<meta charset="utf-8">  
<title>Checked Demo</title>
</head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>  
<script type="text/javascript">  
   $(document).ready(function(e) {
        $('.myradios').change(function(){  
		if($('#radio1').is(":checked") && $('#radio2').is(":checked")){  
			alert("Both radios are now checked");  
		}
	});
    });
</script>
<body>
<input class="myradios" type="radio" id="radio1" name="Radio1" />  
Radio1 <br>
<input class="myradios" type="radio" id="radio2" name="Radio2" />  
Radio2
</body>
</html>
Mitglied: Pludan
Pludan 07.07.2017 um 17:06:32 Uhr
Goto Top
face-smile vielen Dank.

Ich habe jetzt diesen teil:

<script type="text/javascript">
$(document).ready(function(e) {
$('.myradios').change(function(){
if($('#tblzweitesgearet').is(":checked") && $('#tblspm_ober_info').is(":checked")){
alert("Both radios are now checked");

}
});

im php Formular hinzugefügt. Jetzt habe ich js diesen teil:

$('#tblzweitesgearet') && $('#tblspm_ober_info').on('ifChecked', function(){
$("#tblbegruendung_text").fadeIn();
$("#tblbegruendung").fadeIn();
zweigearetaktiv = 1;
spm_oberarzt_ma_informatikaktiv = 1;
});

Wen ich den Radio Button tblspm_ober_info' anklicke kommt das Feld Bemerkung. Es darf aber nur erscheinen wen beide Radio Button gewählt sind.

Wen ich das richtig verstehe, wird verglichen ob beide Botton aktiv sind, wen ja soll es das Feld und den Text einblenden. Mit deinem Code wird verglichen und meiner taugt nicht für: wen ja tu dies. Kannst du mir bitte noch zeigen wie ich in diesem fall : wen ja tu dies hin kriege.

Für deine Hilfe bin ich dir sehr Dankbar
07-07-2017 16-54-50
Mitglied: 133417
133417 07.07.2017 aktualisiert um 17:13:51 Uhr
Goto Top
Einfach dort wo in meinem Code die "alert"-box steht, dein Feld einblenden, fertig.
In meinem Beispiel weise ich beiden Radios das change Event zu (siehe die Klasse myradios), damit bei Klicks auf jegliche Radios geprüft wird ob beide Radios aktiv sind. Ist das der Fall kommt bei mir die MSGBOX, dort also einfach deinen Code der einblendet einfügen. Das ist doch nun wirklich nicht schwer. Das sollte nun jeder hinbekommen, lass ich dir also als Hausaufgabe, du sollst ja als Frischling was daraus lernen, nicht nur copy & paste machen.

Gruß
Mitglied: Pludan
Pludan 07.07.2017 um 18:10:13 Uhr
Goto Top
Vielen Dank für die Erklärung. Werde ich am Montag so machen face-smile

Grusse Daniel
Mitglied: Pludan
Pludan 10.07.2017 um 09:48:23 Uhr
Goto Top
Hallo

Ich krieg das irgendwie nicht hin.

<script type="text/javascript">
$(document).ready(function(e) {
$('.myradios').change(function(){
if($('#tblzweitesgearet').is(":checked") && $('#tblspm_ober_info').is(":checked")){
alert(document.getElementById('tblbegruendung').value);

}
});
</script>


Das zu einblenden Feld
<td id="tblbegruendung"><textarea name="begruendung" placeholder="Begründung" class="begruendung" style="font-family: Calibri; rows="10",;></textarea></td>

Das Feld habe ich mit CSS ausgeblendet.

Was mache ich alles falsch?

Vielen Dank

Grüsse Daniel
Mitglied: 133417
133417 10.07.2017 aktualisiert um 11:01:17 Uhr
Goto Top
Tja bei dir scheint noch nicht mal das Copy n Paste zu klappen face-sad.
Dir fehlen eine Menge Klammern, schau doch bitte genau hin, JavaScript verzeiht keine Anfängerfehler!
Und einblenden tust du erst recht nichts (s. dein eigener Code im Ursprungsbeitrag).

Ich bin raus, da hat jemand einfach keinen Bock oder den falschen Job gewählt...
Mitglied: Pludan
Pludan 11.07.2017 aktualisiert um 11:51:10 Uhr
Goto Top
Lösung

$("#tblbegruendung").hide();  
  function checkandactivate() {
     if ($("#tblspm_ober_info input:checked").length > 0 && $("#tblzweitesgearet input:checked").length > 0) {  
          $("#tblbegruendung").show();  
      } else {
          $("#tblbegruendung").hide();  
                }
   }
   $("input[name='funktionsart_radio'], input[name='gearetebedarf_radio']").on("ifChecked", checkandactivate);