0

我与 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>

这是我一直在尝试的,没有运气。任何帮助将不胜感激。:)

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

2 回答 2

1

您的选择器很好(尽管我认为有更好的选择,例如$('#IconImage').next().find("input[type='text']")),但存在一些问题:

  1. 您可能没有在ready(). 我建议这样做。
  2. 您正在引用$(icon)而不是仅引用icon. 它不是 DOM 选择器,只是文本。
  3. 你没有关闭(of .change(

这是一个应用了上述更改的工作 JSFiddle 。

编码:

$(document).ready(function() {
    $('#IconImage').next().children(":first").change(function() {
        var icon = $(this).val();
        $('#IconImage').attr('src', icon);
    });
});​
于 2012-08-23T03:39:22.917 回答
0

这个怎么样:

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

$('input:first', container).change(function(){
  $('img:first', container).attr('src', $(this).val());
});
于 2012-08-23T03:36:51.293 回答