跟随 HTML 按钮和文本字段:
<div class="meta-container">
<div class="label col-2 left">
<label class="squeeze-label">Imagem Logo:</label>
</div>
<div class="col-6">
<input class="definir_imagem_url" type="text" size="36" name="super-squeeze-meta[imagemLogo]" value="<?php echo $this->data['imagemLogo']; ?>" />
<input class="definir_imagem_button button" type="button" value="Definir Imagem" />
<a id="remover_imagem_logo" class="button remove-bg"><div class="dashicons dashicons-post-trash"></div>Remover Imagem</a>
<p class="description">Imagem que ficará acima da headline.</p>
</div>
</div>
<div class="meta-container">
<div class="label col-2 left">
<label class="squeeze-label">Imagem Background:</label>
</div>
<div class="col-6">
<input class="definir_imagem_url" type="text" size="36" name="super-squeeze-meta[imagemBackground]" value="<?php echo $this->data['imagemBackground']; ?>" />
<input class="definir_imagem_button button" type="button" value="Definir Imagem" />
<a id="remover_imagem_background" class="button remove-bg"><div class="dashicons dashicons-post-trash"></div>Remover Imagem</a>
<p class="description">Imagem que ficará no fundo da página. Por padrão será feito upload de uma nova imagem para o Wordpress, caso necessite será possível informar um link externo.</p>
</div>
</div>
下面的 javascript 使按钮类“definir_imagem_button”打开 native WordPress 媒体 uploader ,并将所选图像 URL 插入到各自的文本字段类“definir_imagem_url”中:
$('.definir_imagem_button').click(function(e)
{
e.preventDefault();
var custom_uploader = wp.media({
title: 'Selecionar Imagem',
button: {
text: 'Definir Imagem'
},
multiple: false // Set this to true to allow multiple files to be selected
})
.on('select', function()
{
var attachment = custom_uploader.state().get('selection').first().toJSON();
$('.definir_imagem_url').val(attachment.url);
})
.open();
});
问题是行 $('.definir_imagem_url').val(attachment.url);
为类的所有字段分配值,我只需要将该值添加到单击的相应按钮的文本字段。有什么更好的方法来做到这一点?
最佳答案
如果您知道每个按钮的 HTML 结构都相同,则可以捕获单击了哪个按钮并使用它来查找最近的 .definir_imagem_url
输入。
$('.definir_imagem_button').click(function(e) {
e.preventDefault();
var btnClicked = $( this );
var custom_uploader = wp.media({
title: 'Selecionar Imagem',
button: {
text: 'Definir Imagem'
},
multiple: false // Set this to true to allow multiple files to be selected
})
.on('select', function() {
var attachment = custom_uploader.state().get('selection').first().toJSON();
$( btnClicked ).parent().children( '.definir_imagem_url' ).val( attachment.url );
})
.open();
});
关于javascript - 在多个按钮上使用 WordPress 媒体上传?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26268737/