Wie blende / zeige ich Meta-Box mit jQuery, wenn auf Drop-Down-Menü klicken

Ich bin Neuling mit jQuery und versuche, ein Textfeld dynamisch zum admin (neuer Beitrag) mit jQuery hinzuzufügen.

Zum Beispiel, nur wenn ich auf ‘Andere’ im Dropdown-Auswahlmenü klicke – das Textfeld ist sichtbar. Hier ist mein “Versuch”:

jQuery :

jQuery(document).ready( function() { jQuery('#prefix-nums').bind('change', function (e) { if( jQuery('#prefix-nums').val() == 'other') { $('#prefix-text-1').show(); jQuery("#prefix-text-1").css({ display: "inline-block" }); }else if( $('#prefix-nums').val() == 'first') { jQuery('#prefix-text-1').hide(); }).trigger('change'); }); 

functionen.php

 $prefix = 'prefix-'; $meta_boxes[] = array( 'id' => 'untitled', 'title' => esc_html__( 'Some nums', 'metabox-online-generator' ), 'post_types' => array( 'post', 'page' ), 'context' => 'advanced', 'priority' => 'high', 'autosave' => false, 'fields' => array( array( 'id' => $prefix . 'nums', 'name' => esc_html__( 'nums', 'metabox-online-generator' ), 'type' => 'select_advanced', 'placeholder' => esc_html__( 'Select an Item', 'metabox-online-generator' ), 'options' => array( 'one' => 'one', 'two' => 'two', 'three' => 'three', 'four' => 'four', 'other' => 'other', ), 'class' => 'numbers', ), array( 'id' => $prefix . 'text-1', 'type' => 'text', 'name' => esc_html__( 'Other nums', 'metabox-online-generator'), 'placeholder' => esc_html__( 'Other nums', 'metabox-online-generator' ), 'class' => 'text-1', ), 

Und natürlich..das funktioniert einfach nicht ^^ ….

Kannst du mir helfen? Danke im Voraus!

Mit freundlichen Grüßen,

Solutions Collecting From Web of "Wie blende / zeige ich Meta-Box mit jQuery, wenn auf Drop-Down-Menü klicken"

Sie haben einen syntax error was bedeutet, dass Sie etwas falsch eingeben. Verwenden Sie die folgende jQuery zum Anzeigen / Verbergen von Meta mit der .on () -Methode,

Wie in meinem Kommentar erwähnt, ist bind seit jQuery 3.0 veraltet. Es wird jetzt empfohlen, die .on() -Methode zu verwenden.

Hinweis: Sie können die Kurzschrift $ anstatt jedes Mal jQuery schreiben.

 jQuery(document).ready(function( $ ){ $('#prefix-nums').on('change', function(e) { if ($(this).val() == 'other') { $('#prefix-text-1').show(); $("#prefix-text-1").css({ display: "inline-block" }); } else if ($(this).val() == 'first') { $('#prefix-text-1').hide(); } }); }); 

Hier ist ein Arbeitsbeispiel :

Und hier ist ein netter kostenloser jQuery- Kurs, der etwa 3 Stunden dauert