首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery返回错误的数据

jQuery返回错误的数据
EN

Stack Overflow用户
提问于 2017-11-08 19:37:08
回答 2查看 56关注 0票数 1

我对jQuery很陌生,我的代码正在发生一些奇怪的事情。jQuery总是返回相同的数字,即使我按不同的图像。问题出在哪里?

HTML代码

代码语言:javascript
复制
$(".image-upload").on("change", function() {
  console.log($(this).children("label").find("img").attr("data-id"));
});
代码语言:javascript
复制
<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">
    <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。为什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-08 19:49:31

好像是这样写的:

代码语言:javascript
复制
$(this).children("label").children("img").attr("data-id")

将输出正确的数据id。注意“子”而不是“查找”的用法。

此外,通常更好的做法是提供某种类型的在线示例,这样可以更容易地运行和测试问题。https://jsfiddle.net/947f2hhf/

票数 0
EN

Stack Overflow用户

发布于 2017-11-08 19:54:16

代码语言:javascript
复制
  <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必须是唯一的。必须更改第二个文件-输入标签‘id’。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47188247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档