• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

JQuery - <input onClick=this.value ....> funktioniert nicht mehr!!!

iluminati182006

Neues Mitglied
In meinem HTML-Body habe ich fünf Inputs mit

HTML:
<input type="radio" onclick="this.value = (new Date()).getSeconds();" name="'+arrays[i].getID()+'">

und ich benutzt JQuery um die Radiobuttons zu faken (<script type="text/javascript" src="jquery.js"></script>), mit dem folgenden Code:

Code:
                $(function() {
                    $('input:radio').each(function() {
                        $(this).hide();
                        var label = $("label[for=" + '"' + this.id + '"' + "]").text();
                        $('<a title=" ' + label + ' " class="radio-fx ' + this.name +'"><span class="radio"></span></a>').insertAfter(this);
                    });
                    $('.radio-fx').on('click', function(e) {
                        $check = $(this).prev('input:radio');
                        var unique = '.' + this.className.split(' ')[1] + ' span';
                        $(unique).attr('class', 'radio');
                        $(this).find('span').attr('class', 'radio-checked');
                        $check.attr('checked', true);
                    }).on('keydown', function(e) {
                        if (e.which == 32) {
                            $(this).trigger('click');
                        }
                    });
                    
                    $('#form').submit(function() {
                        alert($(this).serialize());
                        return false;
                    });
                    $('#change-skin').change(function() {
                        $('form table').attr('id', this.value);
                    });
                });



Das Problem ist jedoch jetzt das, dass anscheinend meine Function mit
onclick="this.value = (new Date()).getSeconds();"
nicht ausgeführt wird, stattdessen wird mir als Value vom Code immer nur "on" zurückgegeben. Warum?

Am liebsten hätte ich, dass mir, wenn ich 5 Auswahlmöglichkeiten zum Klicken habe, die angeklickte Antwort (also eine Zahl von 1-5) und die benötigte Zeit zum Anklicken zurückgegeben wird. Wie beispielsweise "5|1203" oder "3|2043".

Hiiiiiilfe!!! Bitte!!!
 
Hast du dir denn auch jede Variable ausgeben lassen, um zu sehen, wie weit dein Script fehlerfrei funktioniert? So auf Anhieb sieht das ziemlich abenteuerlich aus.
 
Dein jQuery Script versteckt die originalen RadioButtons und zeichnet statt dessen als "Ersatz" ein <a>. Damit klickst du effektiv nicht mehr auf dein Radio-Button, sondern auf das <a>. So wird der onClick-Event niemals ausgelöst.
Du könntest das Script dahingehend erweitern, dass du innerhalb der Click-Funktion, die auf $('.radio-fx') liegt, den value des Radio-Buttons änderst.
 
@Trojaner: Es funktioniert ja alles fehlerfrei, solange ich den JQueryk-Quelle im Header auskommentiert lasse. Allerdings sind dann leider wieder normale Radiobuttons zu sehen. Wenn ich die Quelle nicht kommentiere, werden die Radiobuttons natürlich durch Bilder ersetzt, aber statt beispielsweise "3|1032" wird mir "on" zurückgegeben.

@BananaJones: Soweit war ich auch schon, aber leider weiß ich nicht, wieweit das man erweitern kann. Mit dieser Art von Code hab ich leider null Komma null Erfahrung. Kannst du mir da bitte helfen?
 
Zurück
Oben