小部件形式的WordPress wp.media:jQuery.val()无法在输入字段中插入值

小部件形式的WordPress wp.media:jQuery.val()无法在输入字段中插入值,jquery,wordpress,widget,Jquery,Wordpress,Widget,我实际上正在为WP开发一个简单的小部件,允许人们 从媒体库中拾取图像, 保存url并将其打印为侧栏中的链接背景—没什么复杂的。一切正常,我可以从图书馆拍到一张照片, 但是在select上,有东西阻止jQuery修改我的输入字段值属性,所以它一直显示默认值,当然,我无法保存它。以下是小部件示例: class JST_Aside_Advertizer_Widget extends WP_Widget { protected $imgurl_id; protected $selecto

我实际上正在为WP开发一个简单的小部件,允许人们 从媒体库中拾取图像, 保存url并将其打印为侧栏中的链接背景—没什么复杂的。一切正常,我可以从图书馆拍到一张照片, 但是在select上,有东西阻止jQuery修改我的输入字段值属性,所以它一直显示默认值,当然,我无法保存它。以下是小部件示例:

class JST_Aside_Advertizer_Widget extends WP_Widget
{
    protected $imgurl_id;
    protected $selector_id;
    public function __construct()
    {
        $args = array(
            'classname' => 'jst_aside_advertizer',
            'description' => 'Allow you to import a preloaded Media Lib Ad img and link it to wherever you want.'
        );
        parent::__construct( 'jst-aside-ad', 'Simple Aside Avertizer', $args );
        $this->selector_id = $this->get_field_id( 'jst-aadvw-selector' );
        $this->imgurl_id = $this->get_field_id( 'imgurl' );
        add_action( 'admin_print_scripts-widgets.php', array( $this, 'jst_aside_add_widget_enqueue_scripts' ) );
    }
    public function jst_aside_add_widget_enqueue_scripts()
    {
        wp_enqueue_script( 'media-upload' );
        wp_enqueue_script( 'jst_aadvw', plugin_dir_url(__FILE__).'js/jst_aadvw.js', array('jquery'), '0.1' );
        $jst_aadvw_ids = array( 'selector_id' => $this->selector_id, 'imgurl_id' => $this->imgurl_id );
        wp_localize_script( 'jst_aadvw', 'aadvw_ids', $jst_aadvw_ids );
    }
这是js文件:

(function($){

$(document).ready(function(){
    /* aadvw_ids passed through wp_localize earlier */
    $(document).on('click', '#'+aadvw_ids.selector_id,function(){

        var wpmedia = wp.media({
            title: 'Choose your image',
            button: {
                text: 'Send'
            },
            multiple: false
        })
        .on('select', function(){
            var wpmedia_state_selection = wpmedia.state().get('selection');
            var attachment = wpmedia_state_selection.first().toJSON();

            /* Everything is ok */
            console.log( attachment.url );
            console.log( $('#'+aadvw_ids.imgurl_id) );

            /* But this does not work*/
            $('#'+aadvw_ids.imgurl_id).val(attachment.url);
        })
        .open();
    });

    $('.add_media').on('click', function(){
        _custom_media = false;
    })
});
})(jQuery);

欢迎提供任何帮助。

解决方案:目标元素只需增加权重:$'widgets-right'+aadvw_id.imgurl_id.valattachment.url