2017-11-08 10 views
1

jqueryが新しくなりました。コードで奇妙なことが起こっています。 Jqueryは常に同じ番号を返します。問題はどこだ?コードは以下に含まれています。 HTMLコード変更にjqueryが間違ったデータを返します

$(".image-upload").on("change", function() { 
 
    console.log($(this).children("label").find("img").attr("data-id")); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="col-md-2"> 
 
    <div class="image-upload"> 
 
    <label for="file-input"> 
 
<img src="<?= base_url("upload.png"); ?>" width="100" height="100" data-id="1"/> 
 
</label> 
 
    <input name="photos[]" id="file-input" type="file" data-ids="1" /> 
 
    </div> 
 
</div> 
 
<div class="col-md-2"> 
 
    <div class="image-upload"> 
 
    <label for="file-input"> 
 
\t <img src="<?= base_url("upload.png"); ?>" width="100" height="100" data-id="2"/> 
 
</label> 
 
    <input name="photos[]" id="file-input" type="file" data-ids="2" /> 
 
    </div> 
 
</div>

、コンソールショー1、押されたののimgウィッヒに関係なく起動されます。どうして?

+0

は私のように、変更「 – Relic

+0

問題を再作成することができない」を開始アクションの後タグの」SRC「あなたが監視しなければならない、フォーム要素に対してのみです」 base_url()[PHP] を処理するためにcodeIgniterのwelcome_message.phpにちょうど追加されたコードを変更することなく、適切なデータを取得してください。 https://i.imgurという正しい結果を示しているスクリーンショットを見てください。 com/XeoKD1N.jpg –

答えて

0

それはこのようにそれを書くことのように思える:

$(this).children("label").children("img").attr("data-id") 

意志出力正しいデータ-ID。 "find"ではなく "children"の使用に注意してください。

また、問題を実行してテストするのが簡単になるように、いくつかのタイプのオンラインの例を提供する方が良いでしょう。 https://jsfiddle.net/947f2hhf/

-1
<div class="col-md-2"> 
        <div class="image-upload"> 
         <label for="file-input"> 
          <img src="<?= base_url("upload.png"); ?>" width="100" height="100" data-id="1"/> 
         </label> 
         <input name="photos[]" id="file-input" type="file" data-ids="1"/> 
        </div> 
       </div> 
       <div class="col-md-2"> 
        <div class="image-upload"> 
         <label for="file-input"> 
          <img src="<?= base_url("upload.png"); ?>" width="100" height="100" data-id="2"/> 
         </label> 
         <input name="photos[]" id="file-input2" type="file" data-ids="2" /> 
        </div> 
       </div> 

htmlタグIDは一意であることが必要。変更する必要があります。2番目のファイル入力タグ 'id'。 「変更「オン」だから、

+0

より具体的な質問をしてください。 – Welton122

関連する問題