0
我有超过5个标签在metabox。在每个元框中,我都有一个引导模式,用于保存一些输入的图像变化,以及一个类为.btn.select_media_
的按钮和一个包含该选项卡的唯一ID的数据id属性。点击此按钮打开wp上传器。请看我的JS代码。什么是最好的做法,称为wordpress媒体上传(wp.media)
var mediaUploader;
$(document).on('click','.btn.select_media_',function(e){
e.preventDefault();
var id=$(this).data('id');
// If the uploader object has already been created, reopen the dialog
console.log('clicked:'+id);
if (mediaUploader) {
mediaUploader.open();
return;
}
// Extend the wp.media object
mediaUploader = wp.media.frames.file_frame = wp.media({
///mediaUploader = wp.media.frames.mediaUploader = wp.media({
title: 'Choose Image',
button: {
text: 'Choose Image'
}, multiple: false });
mediaUploader.on('select', function() {
attachment = mediaUploader.state().get('selection').first().toJSON();
$('#img_url_'+ id).val(attachment.url);
$('#img_width_'+ id).val(attachment.width+'px');
$('#img_title_'+ id).val(attachment.title);
$('#show_img_'+ id).attr('src',attachment.url);
console.log('selected'+ id);
});
// Open the uploader dialog
mediaUploader.open();
});
问题是,当我设置/中的任何一个标签上载的图像此功能的图像的游程和设定值在mideaUploader.on('select')
事件。当我尝试在其他标签中选择图像时,我在控制台中注意到console.log('selected'+ id);
具有旧值(我在第一次设置的标签上)并且console.log('clicked'+ id);
具有较新的id值。
请帮帮忙!,我的代码有什么问题?我怎样才能得到同样的价值在这个处理程序的顶部和底部?