Ich versuche einige Elemente zu verstecken, wenn eine Seite geladen wird.Ausblenden bestimmter Elemente onload oder ready oder page: ändern, wenn ausgewählte Tags einen bestimmten Wert haben
Momentan verwende ich 'page:change'
, weil ich in Ruby on Rails mit Turbolinks arbeite.
Wenn das div ein select-Tag mit einem bestimmten Wert enthält, möchte ich einige Elemente ausblenden.
Die Seite kann mehrere dieser Auswahl-Tags enthalten, daher kann ich keine IDs verwenden.
-Code hier nicht funktioniert:
$(document).on('page:change', function(){
if ($('.q_type_select').val() == 'text' || $('.q_type_select').val() == 'area') {
$(this).closest('.question_fieldset').children('.choice_fieldset').hide();
$(this).closest('.question_fieldset').children('.add_fields').hide();
};
};
Ich denke, dass $(this)
funktioniert nur, wenn Sie klicken?
Wenn ich dies tun:
$(document).on('page:change', function(){
if ($('.q_type_select').val() == 'text' || $('.q_type_select').val() == 'area') {
$('.question_fieldset').children('.choice_fieldset').hide();
$('.question_fieldset').children('.add_fields').hide();
};
};
ich alle Elemente erhalten, die diese Klasse zu verbergen haben und nicht die, die ich will.
Irgendwelche Vorschläge?
nur verwenden .ready –
Mögliche $ (document) Duplikat [Rails 4 : Wie man $ (document) .ready() mit Turbo-Links verwendet] (http://stackoverflow.com/questions/18770517/rails-4-how-to-use-document-ready-with-turbo-links) –
Wie soll das die Frage beantworten? Ich frage das nicht, bitte lesen Sie die Frage. – aleherzko