js 中的onclick事件

求助js大神,帮忙分析一下:
我一个框框里面有一个输入框有ID,有一个图片没有ID,现在要做判断,点击图片时,如果输入框有值就提示弹窗已有信息不能修改;
条件是使用webService,更改不了页面,只能通过一个js控制,所以不能给图片加一个ID加以控制
一个表格里面,有很多个框框的,所以就会有很多组输入框和图片,每一组的图片都是一样的,只有一个src地址,其他的都不加事件,

阅读 2.3k
3 个回答

获取已知最外层的元素委托绑定一个点击事件给他下面的图片,点击图片找到他相邻的输入框,判断有没有值

<div id="box" >
    <p>
   <input type="text" value="">
    <img src=" https://sfault-avatar.b0.upaiyun.com/408/983/4089830984-59436c1eabf72_big64 " alt="">
    </p>

    <p>
        <input type="text" value="">
        <img src=" https://sfault-avatar.b0.upaiyun.com/408/983/4089830984-59436c1eabf72_big64 " alt="">
    </p>
    <p>
        <input type="text" value="">
        <img src=" https://sfault-avatar.b0.upaiyun.com/408/983/4089830984-59436c1eabf72_big64 " alt="">
    </p>

</div>
<script src="http://code.jquery.com/jquery-3.2.1.min.js"></script>
<script>
 $(function () {
     $("#box").on("click" , "img" , function () {

      if( $(this).siblings('input').val() ){
                 alert('我有了,是你的' );
             }else {
          alert('里面没人,你进来吧');
      }
     });
 })

</script>

没看太懂,更改不了页面, 你在生成img标签时候添加onclick="fun()",再fun里写逻辑

额,我的理解是你的图片是弹框提示是吗??

如果是的话,没必要在新页面打开提示的啊,用js判断好,然后根据需要跳出来就可以了啊,举个栗子

<style>
img {
    position: fixed;
    left: calc(50% - 50px);
    top: calc(50% - 50px);
    z-index: 3;
    display: block;
    width: 100px;
    height: 100px;
    cursor: pointer;
}
</style>
<body>
    <input type="text" />
    <img src="#" onclick="check()" />
</body>
<script>
    function check () {
        var text = $('input').val();
        var src = "你的src";
        if (text) {
            $('img').attr("src", src);
        }
    }
</script>

做了一下修改,这个样子的话应该是你要的效果了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题