2010-11-29 3 views
0

Ich suche nach JS oder jQuery (entweder plugin oder anders), um mir bei der Manipulation der Klasse zu helfen = "erforderlich", die jQuery Validierungs-Plugin für Formular-Validierung in den Formularfeldern verwendet. Ich muss in der Lage sein, diese Klasse auf "nichts" umzustellen, wenn auf die Schaltfläche "Löschen" geklickt wird.Wie kann man mit onClick eine Klasse innerhalb eines Formularelements umschalten?

Hier ist mehr Kontext, warum ich brauche diese Klasse „in der Lage sein oder ausschalten erforderlich wechseln:

1) Dies ist ein Anmeldeformular für mehrere Teilnehmer für eine Veranstaltung

2) dort ist ein Steuerelement in der Form, die es dem Registranten erlaubt, einen Teilnehmer zu "löschen" (wenn er entscheidet, 2 anstelle von 4 Personen zu bringen). Dies schaltet die Sichtbarkeit des DIVs, wo die Formularelemente des Teilnehmers leben, um Formularelemente gehören dazu, da meine PHP-Schleife sie mit first_name_1 (für den ersten Teilnehmer) erstellt hat und dann der zweite Teilnehmer first_name_2 hat Dann hat jeder div_attendee_1 oder 2 oder 3 seine Formularfelder mit diesem Zähler appende d bis zum Ende jedes Feldes.

3) Wenn ein div gerendert Sichtbarkeit = "versteckt" Ich setze auch die Formularelemente in diesem div. ABER ich denke, ich muss auch auf die Klasse zugreifen = "erforderlich", um es class = "" zu rendern.

Was ist der beste Weg, das zu tun? Hier ist die jQuery Ich habe bisher die Sichtbarkeit zu wechseln und die Feldwerte zurückgesetzt:

Validierung:

<script> 
    $(document).ready(function(){ 
    $("#the_form").validate(); 
    }); 
    </script> 

Und dann:

<script language="JavaScript"> 
    function showhidefield(hideablearea){ 
    document.getElementById(hideablearea).style.visibility = "hidden"; 
    var el = document.getElementById(hideablearea); 
    if (el.style.display != 'none') { 
     el.style.display = 'none'; 
    } 
    else { 
     el.style.display = ''; 
    } 
    $('#' + hideablearea).hide().find("input").val(""); 
    $('#' + hideablearea).attr('disabled', true); 
    } 
</script> 

Sollte ich nur versuchen, und die Elemente neu zu schreiben mit Innen .html?

Danke!

Antwort

2

ändern

$('#' + hideablearea).hide().find("input").val(""); 

zu

$('#' + hideablearea).hide().find("input").val("").removeClass("required"); 
+0

Das hat es geschafft! Ich wusste, dass es etwas Einfaches war ... Ich bin allerdings neu bei jQuery. Vielen Dank! – Lynn

0

können Sie addClass und removeClass verwenden. Sie können auch .css verwenden und den Wert auf etwas setzen oder auf nichts setzen, und das wird einen Stil hinzufügen und entfernen statt einer Klasse ... sieht einfach so aus, als ob Sie Klassenlevel benötigen.

Verwandte Themen