Aktivieren/ deaktivieren dynamisch input/ textarea/ select-Feldern mit jQuery
Ich habe den folgenden code mit drei Optionen in einer select-box soll dynamisch aktivieren/deaktivieren Sie das Attribut "disable" in der input-fields/textarea /select, aber der code funktioniert überhaupt nicht:
$(document).ready(function() {
$('.fieldcontent').not('.info').hide();
$('#selector_cs').change(function() {
$('.fieldcontent').customFadeOut(100);
$('.' + $(this).val()).customFadeIn(900);
//$('input').prop('disabled',false);
//$('textarea').prop('disabled',false);
//$('select').prop('disabled',false);
//option1
if ($("this:selected").val() === 'help') {
$("textarea[name='message']").prop('disabled',false);
$("input[name='domain']").prop('disabled',false);
}else{
$("textarea[name='message']").prop('disabled',true);
$("input[name='domain']").prop('disabled',true);
};
//option2
if ($("this:selected").val() === 'info') {
$("textarea[name='message']").prop('disabled',false);
}else{
$("textarea[name='message']").prop('disabled',true);
};
//option3
if ($("this:selected").val() === 'products') {
$("textarea[name='message']").prop('disabled',true);
$("select[name='products']").prop('disabled',false);
$("input[name='domain']").prop('disabled',false);
$("input[name='address']").prop('disabled',false);
$("input[name='state']").prop('disabled',false);
$("input[name='city']").prop('disabled',false);
$("input[name='country']").prop('disabled',false);
};
}); });
Kann mir jemand helfen, den code zu schreiben, richtig?
Vielen Dank im Voraus für jede Hilfe
EDIT: Danke @Ken und @arun für die schnelle Hilfe. Jetzt die jQuery arbeitet.
Aber: ich habe eine PHP-Validierung, die nicht passieren mit der fiedls deaktiviert jQuery. Warum?
Ansonsten will ich nicht auf hinzufügen/entfernen, dynamische ausgeblendete Felder von jquery, weil, wenn die Benutzer erhalten eine mail, er würde die hidden-fields Werte, die nicht in "echten" Werten, sondern mit Werten wie "some1", "some2" ecc.
Wie dies zu vermeiden und mit diasabled Felder statt übergeben die php Validierung?
- .attr('disabled', true)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Selektor
$("this:selected").val()
ist falsch, es sollte$(this).val()
man den ausgewählten WertDemo: Fiddle
Ändern $("this:selected").val() auf $(this).val() sollte das Problem lösen