jQuery übergeben Variable funktioniert nicht wie erwartet

Gast #4807089
Lesenswert?
• ▲
▼
Funktioniert nicht
1
$.get(serverAddress + 'test.php', function( my_var ) { $( '#testid' ).prop({ value: my_var });}, 'text');


Funktioniert
1
$.get(serverAddress + 'test.php', function( my_var ) { $( '#testid' ).prop({ value: 60 });}, 'text');

Ich möchte bei einem "input range" den Wert festlegen (wird für Slider 
verwendet).

Leider funktioniert das nicht. Mit input checkbox ("checked") 
funktioniert es, aber eben nicht mit Zahlenwerten.

Im Seitenquelltext des php-Aufrufes steht übrigens 0.


Ich vermute ich mache etwas mit den Variablen falsch. Bin dankbar für 
jede Hilfe.
#4807203
Lesenswert?
• ▲
▼
Du erzeugst hier eine anonyme Callback-Funktion mit dem Input-Parameter 
"my_var". jQuery weiß aber jetzt wohl nicht, mit welchem Wert es die 
Funktion aufrufen soll. Wahrscheinlich gibt es außen noch eine 
gleichnamige Variable deren Wert du übergeben möchtest?

Versuch mal, die Funktion drüber zu deklarieren: function 
callback(my_var_1) {...}

Und dann im $.get statt der anonymen Funktion "callback(my_var)". 
Eventuell funktioniert es dann so wie du es erwartest.

Noch zwei Tipps: ordentliche Variablennamen sind immer gut, und wenn man 
im Forum fragt nicht nur eine Zeile, sondern ein lauffähiges 
Minibeispiel posten.
Gast #4807259
Lesenswert?
• ▲
▼
.prop ist auf jeden Fall das Richtige um den Wert zu ändern. Das 
funktioniert ja auch, wenn ich den Wert manuell eingebe als Zahl.


.val ist meines Wissens nur um Werte zu erhalten.



my_var gibt den Wert 0 aus (alert(my_var);). Also der Wert wird 
eingelesen und weitergegeben. Was ich nicht verstehe ist, weshalb es 
hier nicht geht. Mit "checked" hat es funktioniert. Also vermute ich das 
Format stimmt nicht. Wie wandle ich my_var denn in jQuery in eine Zahl 
um?


Das mit den lauffähigen Beispielen ist immer so eine Sache. Am liebsten 
habe ich ein simples Beispiel das nicht funktioniert. :)
Gast #4807300
Lesenswert?
• ▲
▼
Um deinem Fehler auf die Spur zu kommen:

Konsultiere auch die jQuery API bzgl der $.get Funktion und schau was 
der erste Parameter (in dem Fall bei dir my_var) bei der success 
funktion für eine Bedeutung hat
#4807376
Lesenswert?
• ▲
▼
boris schrieb:
> Naja der Fehler muss ja in dieser Zeile liegen. Wenn ich die Zahl
> reinschreibe funktioniert alles.

Ja, in deinem zweiten Beispiel steht "60" drinnen, daher funktioniert 
es. In deinem ersten Beispiel steht keine einzige Zahl. Nachdem jQuery 
nicht gedankenlesen kann, möchtest du die Zahl wohl vom "geheimen" 
Coding aus übergeben. Warum das nicht klappt, dazu gibt es hier ja schon 
Antworten.

> Da ich mich mit jQuery noch nicht so auskenne, hoffe ich, dass jemand
> einen Tipp geben kann.

Was ist denn an den Beiträgen von D.I. mir nicht verständlich?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren