Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery捕获没有ID的字段上的更改事件_Javascript_Jquery - Fatal编程技术网

Javascript 使用jQuery捕获没有ID的字段上的更改事件

Javascript 使用jQuery捕获没有ID的字段上的更改事件,javascript,jquery,Javascript,Jquery,我很难使用jQuery,但需要解决这个问题才能完成我正在编写的一些代码 我控制img标签,但不控制输入(这意味着我不能给它我想要的ID) 我需要将img的SRC设置为输入值的值(只要用户更改它) 以下是HTML: <div class="my_meta_control metabox"> <img id="IconImage" src=""> <p> <input type="text" class="mediafield

我很难使用jQuery,但需要解决这个问题才能完成我正在编写的一些代码

我控制img标签,但不控制输入(这意味着我不能给它我想要的ID)

我需要将img的SRC设置为输入值的值(只要用户更改它)

以下是HTML:

<div class="my_meta_control metabox">
    <img id="IconImage" src="">
    <p>
        <input type="text" class="mediafield-nn" name="_custom_meta[imgurl]" value=""/>
        <a href="media-upload.php?post_id=2&tab=type&TB_iframe=1" class="mediabutton-nn thickbox button {label:'Insert'}">Add Media</a>
    </p>
</div>
这个怎么样:

var container = $('.my_meta_control metabox');

$('input:first', container).change(function(){
  $('img:first', container).attr('src', $(this).val());
});
您的选择器很好(尽管我认为有更好的选择,如
$(“#IconImage”).next().find(“input[type='text'])”
),但存在一些问题:

  • 您可能没有在
    ready()
    中执行此代码。我建议这样做
  • 您正在引用
    $(图标)
    ,而不仅仅是
    图标
    。它不是DOM选择器,只是文本
  • 您没有关闭
    .change(
    )的
  • 下面是应用上述更改的示例

    守则:

    $(document).ready(function() {
        $('#IconImage').next().children(":first").change(function() {
            var icon = $(this).val();
            $('#IconImage').attr('src', icon);
        });
    });​
    

    “没有运气”这并不能解释问题。幸运的话-买马蹄铁,真正的帮助-解释你得到了什么我很好奇:为什么你让一个用户手动键入你的web服务器上的文件名?用户如何知道你的web服务器上有哪些文件?谢谢!现在它可以工作了。我不得不将所有的$to改为jQuery来运行它,但现在它可以运行了只有当我手动将信息放入其中并按tab键时,才会更新图像。我正在使用WordPress媒体上传程序,它会将url放入字段中,但图像不会更新。有什么想法吗?砰!我明白了,我可以编辑正在上传的jQuery:)再次感谢您的帮助!@user1618573如果对您有帮助,请不要忘记接受答案!(只需勾选答案旁边的复选标记。)
    $(document).ready(function() {
        $('#IconImage').next().children(":first").change(function() {
            var icon = $(this).val();
            $('#IconImage').attr('src', icon);
        });
    });​