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值。
請幫幫忙!,我的代碼有什麼問題?我怎樣才能得到同樣的價值在這個處理程序的頂部和底部?