我想从媒体库中选择图片,在我的管理页面中,我有项目列表及其图像,我想使用媒体库更改项目图像,这是我的代码
add_action('admin_enqueue_scripts', array(&$this,'enqueue_media_lib'));
public function enqueue_media_lib(){
wp_enqueue_media();
wp_register_script( 'media-lib-uploader-js', plugins_url( 'js/media-library.js',dirname( __FILE__)), array('jquery'),'1.1.1',true);
wp_enqueue_script( 'media-lib-uploader-js' );
}
<?php
$result = $wpdb->get_results('SELECT id,category, type,image_path, name, description FROM '.$ps_detail_table_name, ARRAY_A);
foreach ($result as $value){ ?>
<tr id="view-row<?php echo $value['id']; ?>">
<td id="view-category<?php echo $value['id']; ?>"><?php echo $value['category']; ?></td>
<td id="view-type<?php echo $value['id']; ?>"><?php echo $value['type']; ?></td>
<td id="view-name<?php echo $value['id']; ?>"><?php echo $value['name']; ?></td>
<td id="view-description<?php echo $value['id']; ?>"><?php echo $value['description']; ?></td>
<td id="view-img-path<?php echo $value['id']; ?>">
<img id="product-img<?php echo $value['id']; ?>" src="<?php echo $value['image_path']; ?>" height="50px" width="50px"/>
<input id="new_upload_image_button<?php echo $value['id']; ?>" type="button" class="btn btn-primary btn-sm" value="Change"/>
<input type="hidden" name="new-image-attachment-id" id="new-image-attachment-id<?php echo $value['id']; ?>" value=""/>
</td>
Jquery的
jQuery(document).ready(function($){
var mediaUploader;
$('#new_upload_image_button').click(function(e) {
e.preventDefault();
// If the uploader object has already been created, reopen the dialog
if (mediaUploader) {
mediaUploader.open();
return;
}
// Extend the wp.media object
mediaUploader = wp.media.frames.file_frame = wp.media({
title: 'Choose Image',
button: {
text: 'Choose Image'
}, multiple: false });
// When a file is selected, grab the URL and set it as the text field's value
mediaUploader.on('select', function() {
attachment = mediaUploader.state().get('selection').first().toJSON();
$('#new_upload_image_button').attr('src',attachment.url);
$('#new-image-attachment-id').val(attachment.url);
});
// Open the uploader dialog
mediaUploader.open();
});
});
这是我的代码我不想在jQuery中硬核ID名称请给我解决方案
答案 0 :(得分:1)
尝试使用
$("div[id^='new_upload_image_button']").click(function () {
//mediaUploader code..
});