jQuery 选择器问题

发布于 2024-11-09 10:33:29 字数 793 浏览 0 评论 0原文

jQuery 新手。

我有以下 html:

  <form enctype="multipart/form-data" action="/upload/" method="post"> 
      <div class="field"> 
          <label for="id_profile_pic">Profile Pic</label> 
          <input type="file" name="profile_pic" id="id_profile_pic" /> 
      </div> 

      <div> 
      <span>Profile Picture</span> 
      <img src="/site_media/profile_pic/4e17c792-3c34-4556-8c67-135bc931eb5a.jpg"/> 
      <input type="button" value="Upload" id="upload_button" /> 
      </div> 
  </form> 

我需要以下函数中选择器的帮助,

  $('#upload_button').click(function() {
    //how can I select the file input element (ie. #id_profile_pic) here? 
  });

谢谢。

New to jQuery.

I have the following html:

  <form enctype="multipart/form-data" action="/upload/" method="post"> 
      <div class="field"> 
          <label for="id_profile_pic">Profile Pic</label> 
          <input type="file" name="profile_pic" id="id_profile_pic" /> 
      </div> 

      <div> 
      <span>Profile Picture</span> 
      <img src="/site_media/profile_pic/4e17c792-3c34-4556-8c67-135bc931eb5a.jpg"/> 
      <input type="button" value="Upload" id="upload_button" /> 
      </div> 
  </form> 

And I need help with the selector in the following function

  $('#upload_button').click(function() {
    //how can I select the file input element (ie. #id_profile_pic) here? 
  });

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

臻嫒无言 2024-11-16 10:33:29

您可以像在初始选择器中定位第一个元素一样定位该元素:

  $("#id_profile_pic").doStuff();

您还打算对此做更多的事情吗?

You could target that element just as you targeted the first in your initial selector:

  $("#id_profile_pic").doStuff();

Was there something more you were intending to do with this?

天煞孤星 2024-11-16 10:33:29

为什么需要选择该元素?您可以使用 $('#id_profile_pic') 来完成此操作,但您不应该只提交表单以便实际上传吗?

Why do you need to select that element? You would do it with $('#id_profile_pic') but shouldn't you just be submitting the form so it actually uploads?

余生一个溪 2024-11-16 10:33:29
$('#upload_button').click(function() {
    // to select it here you just need
    $('#id_profile_pic')

});

如果你想选择表单中的所有图片,你可以使用:

$('#upload_button').click(function() {

    $(this).parent().find('img');

});
$('#upload_button').click(function() {
    // to select it here you just need
    $('#id_profile_pic')

});

if you want to select all the pictures in the form you can use:

$('#upload_button').click(function() {

    $(this).parent().find('img');

});
冧九 2024-11-16 10:33:29

您应该以完全相同的方式执行此操作:使用哈希值 (#):

$('#upload_button').click(function() {
    var fileUploadPic = $('#id_profile_pic');

    var value = fileUploadPic.val();
});

You should do it the exact same way: with a hash (#):

$('#upload_button').click(function() {
    var fileUploadPic = $('#id_profile_pic');

    var value = fileUploadPic.val();
});
许久 2024-11-16 10:33:29

这也能做到这一点:

$('#upload_button').click(function(){
  var file = $(this).closest('form').find('input[type=file]') ;
  return ;
} ;

这将找到正在发布的表单中的文件控件,无论标记结构如何(并且不需要知道控件 ID)。

TMTOWTDI,正如 Perl 僧侣所说。

This will do it too:

$('#upload_button').click(function(){
  var file = $(this).closest('form').find('input[type=file]') ;
  return ;
} ;

This will find the file control(s) in the form being posted, regardless of markup structure (and without needed to know the control ID).

TMTOWTDI, as the perl monks say.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文