我是jQuery的新手,尝试使用jQuery向管理员(新帖子)动态添加文本字段。
例如,仅当我从下拉选择菜单中单击“其他”时,文本字段才可见。这是我的“尝试”:
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\');
});
Functions.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\',
),
当然。。那根本不管用^^。。。。
你能帮帮我吗?提前感谢您!
谨致问候,
最合适的回答,由SO网友:Digvijayad 整理而成
你有一个syntax error
这意味着您键入的内容不正确。使用以下jQuery显示/隐藏元.on() 方法
此外,正如我在评论中提到的,bind
自jQuery 3.0以来已被弃用。现在建议使用.on()
方法
注意:您可以使用速记$
而不是写作jQuery
每一次。
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();
}
});
});
这是一个工作
jsfiddle:这是一个不错的免费jQuery 大约需要3小时的课程