Ajax + PHP + JQuery richtig anwenden?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

In deinem Event-Handler für das "Eintritt"-Feld rufst du die load_data Funktion mit der Eingabe als ersten Parameter auf. Laut deinem Code müsste es aber der zweite Parameter sein:

load_data(null, search);

möchte immer noch nicht laufen .

0
@MrSchockiert

Du sendest immer nur einen Wert an deinen Server - entweder Beruf oder Eintritt. Laut deinem Code kann somit auch immer nur einer der Werte dargestellt werden.

Wenn du immer beide Werte brauchst musst du sie auch gesammelt an den Server senden:

// Event-Handler für beide Felder
$("#beruf, #eintritt").keyup(function() {

  // Beide Feldwerte abfragen ...
  var beruf = $("#beruf").val() || null;
  var eintritt = $("#beruf").val() || null;

  // gesammelt an den Server senden ...
  load_data(beruf, eintritt);

});
1
@Dory1

etwas passiert. ich komme weiter.

$('#beruf').keyup(function(){
						 var beruf = $("#beruf").val() || null;
						 var eintritt = $("#beruf").val() || null;
							if(beruf != '' , eintritt != '' )
							{
								load_data(beruf, eintritt);
							}
							else
							{
								load_data();			
							}
						});

beim Datum steht jetzt immer : 01.01.1970

0
@MrSchockiert
var beruf = $("#beruf").val() || null;
var eintritt = $("# beruf").val() || null;

Du hast versehentlich den Wert von "Beruf" der Eintritt-Variable zugewiesen.

1
@Dory1

nichts . Das Datum wird einfach ausgegeben.
Selbst wenn ich ein anderes eingebe , kommt immer wieder der 01.01.1970

liegt vielleicht hier mein Fehler ?


if(beruf != '' , eintritt != '' ) 
0
@MrSchockiert

mir ist was aufgefallen

wenn ich das FELD->#beruf nicht befülle , wird zwar immer noch der 01.01.1970 gesetzt, jedoch kann ich dann das Datum verändern

0
@MrSchockiert

ich habs. Deine Erklärung war richtig.

Mein Fehler war,

ich habe aus einer ID versehendlich eine KLASSE gemacht. Also " # " mit " . " vertauscht . Vielen Dank .

0
@Dory1

oh nein ! ich habe eine neuen Fehler. Hast du noch eine Minute für mich ?

0
@MrSchockiert

Sorry, muss jetzt weg. Kanns mir eventuell heut Abend ansehen.

0
@Dory1

jetzt möchte ich nocht ein weiteres INPUT-feld (radio) berücksichtigen.

<input type="radio" name="arbeiter" class="mitarbeiter" id="Ac-1a" value="vollzeit" checked><!--ID muss pro Step geändert werden-->
 <label for="Ac-1a">Vollzeitkraft</label>
                        
<input type="radio" name="arbeiter" class="mitarbeiter" id="Ac-1" value="teilzeit">
<label for="Ac-1">Teilzeitkraft</label>
                        
<input type="radio" name="arbeiter" class="mitarbeiter" id="Ac-2" value="miniJob">
<label for="Ac-2">Mini-Jobber</label>
                        
<input type="radio" name="arbeiter" class="mitarbeiter" id="Ac-3" value="azubi">
 <label for="Ac-3">Azubi</label>
                        
<input type="radio" name="arbeiter" class="mitarbeiter" id="Ac-4" value="prakti">
<label for="Ac-4">Praktikant</label>

Deinem Code habe ich wie folgt verändert

/////////////////////////////////
						$('#beruf , #eintritt' ).keyup(function(){

							  var beruf = $("#beruf").val() || null;
							  var eintritt = $("#eintritt").val() || null;
							  var mitarbeiter = $("input[name='arbeiter']:checked"). val() || null;
								
							if(beruf != '' , eintritt != '', mitarbeiter != ''    )
							{
								load_data(beruf, eintritt, mitarbeiter );
							}
							else
							{
								load_data();			
							}
							
							
						});

Leider funktioniert es nicht wie es soll.

Was passiert?

Wenn man auf den RADIO-btn "rum drückt" passiert nichts.
Die erste Veränderung tritt ein, sobald man einen Beruf oder ein Datum eingibt . Dann erst wird auch der VAL-wert des RADIO-btn ausgegeben.

Bis später :)

0
@MrSchockiert
$(document).on(
  'click keyup', 
  '#beruf, #eintritt, input[name="arbeiter"]', 
  function() {
    load_data(
      $('#beruf').val() || null, 
      $('#eintritt').val() || null, 
      $('input[name="arbeiter"]:checked').val() || null
    );
  }
);

0

Was möchtest Du wissen?