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. (のを閉じていません.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 に答える