Jquery 如何制作自定义小部件来上传图像

Jquery 如何制作自定义小部件来上传图像,jquery,wordpress,Jquery,Wordpress,我正在制作一个小部件,它可以上传图像并在小部件面板中预览图像,所以我使用JQuery将URL从添加到,但它不会将URL传递给img,因为静态Html一切都起作用,但当我尝试将其实现到WordPress时,它不起作用。在控制台中不显示任何错误 有什么问题,或者有更简单的方法来解决 function.php public function form($instance) { $name_1 = $instance["name_1"]; $name_2 = $instance["na

我正在制作一个小部件,它可以上传图像并在小部件面板中预览图像,所以我使用JQuery将URL从
添加到
,但它不会将URL传递给img,因为静态Html一切都起作用,但当我尝试将其实现到WordPress时,它不起作用。在控制台中不显示任何错误

有什么问题,或者有更简单的方法来解决

function.php

public function form($instance) {

    $name_1 = $instance["name_1"];
    $name_2 = $instance["name_2"];
    $picture_1 = $instance["pic_1"];
    $picture_2 = $instance["pic_2"];

        ?>
        <label>Name:</label>
    <input type="text" name="<?php echo $this->get_field_name("name_1"); ?>" value="<?php echo esc_attr( $instance['name_1'] ); ?>"><br>
    <!--Upload Image-->
        <input name="<?php echo $this->get_field_name('pic_1'); ?>" type="file" value="<?php echo esc_attr($picture_1); ?>" id="imgInp"/>
        <img class="pic-preview" src="#" alt="Your image" style="width:120px;height:120px;background:#eee;display:block;" />



        <script>
        var $j = jQuery.noConflict();
        $j(document).ready(function() {
            function readURL(input) {
                if (input.files && input.files[0]) {
                    var reader = new FileReader();

                    reader.onload = function (e) {
                        $j('.pic-preview').attr('src', e.target.result);
                    }
                    reader.readAsDataURL(input.files[0]);
                }
            }

            $j("#imgInp").change(function(){
                readURL(this);
            });
    });

</script>

    <?php

}//form


    public function widget($args, $instance ) {
        <div class="profile-pics">
             <div class="col-sm-6">
                <div class='mfc-link'>
                    <img src='<?php echo esc_url( $instance['pic_1'] ) ?>'>
                </div>
                 <p><?php echo $instance["name_1"]; ?></p>
             </div>

        </div>
  <?php
    }
}
公共函数表单($instance){
$name_1=$instance[“name_1”];
$name_2=$instance[“name_2”];
$picture_1=$instance[“pic_1”];
$picture_2=$instance[“pic_2”];
?>
姓名:

如果在更改事件中放入console.log,它会运行吗?使用:
$j(document).on('change','imgInp',function()无任何输出到consoletry{…
太棒了!你知道我如何将url传递给php变量,以便在保存后显示它。你可以将它保存为自定义元选项,然后在需要的地方将它拉过来。如果你想将JS变量发送到php,你需要使用AJAX。如果你在更改事件中放入console.log,它会运行吗?没有任何输出到consoletry using:
$j(document)。on('change','imgInp',function(){…
太棒了!您知道如何将url传递给php变量,以便在保存后可以显示它。您可以将其保存为自定义元选项,然后在需要的地方将其拉过来。如果要将JS变量发送到php,您需要使用AJAX。