使用jquery查找最接近复选框的输入类型文本的值

dud*_*ude 2 jquery

JSFIDDLE中的工作代码

我把完整的代码放进去了JSFiddle,问题是它取出了val第一个输入框,但是没有获取其中的checkbox内容checked?

HTML

<div class="gallery_content_wrap">
<!-- video wrap-->

<div class="gallery_photo_wrap">
  <div class="gallery_bg_wrap">
  <input type="hidden" value="10" name="selectypeaccept">
  <input type="hidden" value="photos" name="subadmintypeaccept">

        <div name="photosacceptdiv" class="gallery_bg"> <img width="200px" border="0" height="148px" src="http://farm8.staticflickr.com/7180/6846918679_7891edd209_t.jpg">  
<br>   <input type="text" value="" id="phototitle">  <input type="checkbox" value="1d7457596c0f202ae373de1737bb0e4a.png" name="photosaccept">
      </div>

  </div>
</div>
<!-- video wrap-->

<div class="gallery_photo_wrap">
  <div class="gallery_bg_wrap">
  <input type="hidden" value="10" name="selectypeaccept">
  <input type="hidden" value="photos" name="subadmintypeaccept">

        <div name="photosacceptdiv" class="gallery_bg"> <img width="200px" border="0" height="148px" src="http://farm7.staticflickr.com/6186/6054843777_4e90c30827_t.jpg">  
<br>   <input type="text" value="" id="phototitle">  <input type="checkbox" value="3.png" name="photosaccept">
      </div>

  </div>
</div>
<!-- video wrap-->

<div class="gallery_photo_wrap">
  <div class="gallery_bg_wrap">
  <input type="hidden" value="10" name="selectypeaccept">
  <input type="hidden" value="photos" name="subadmintypeaccept">

        <div name="photosacceptdiv" class="gallery_bg"> <img width="200px" border="0" height="148px" src="http://farm8.staticflickr.com/7021/6846957961_779518a6c5_t.jpg">  
<br>   <input type="text" value="" id="phototitle">  <input type="checkbox" value="9d0757dd339b0b1afa3aabe6b1a50cda.png" name="photosaccept">
      </div>

  </div>
</div>
<!-- video wrap-->    

<div class="gallery_photo_wrap">
  <div class="gallery_bg_wrap">
  <input type="hidden" value="10" name="selectypeaccept">
  <input type="hidden" value="photos" name="subadmintypeaccept">

        <div name="photosacceptdiv" class="gallery_bg"> <img width="200px" border="0" height="148px" src="http://farm8.staticflickr.com/7181/6858152461_91dd47bfc8_t.jpg">  
<br>   <input type="text" value="" id="phototitle">  <input type="checkbox" value="26a70bb20de5d595d2fde46abbc740f8.png" name="photosaccept">
      </div>

  </div>
</div>
<!-- video wrap-->            

</div><div align="center"><input type="submit" name="submitaccept" value="Approve"/><input type="submit" name="submitacceptreload" value="Reload"/>
</div>
Run Code Online (Sandbox Code Playgroud)

jQuery的

$("[name=submitaccept]").click(function(){
    checktype();
});

function checktype(){
    $("[name=photosaccept]").each(function() {       
        if ($(this).is(':checked')) {
            $phototitle=$(this).val();
            alert($("#phototitle").val());
            $photoname = $("#phototitle").val();
        }
    });            
}?
Run Code Online (Sandbox Code Playgroud)

Dre*_*rew 5

$.each用这个替换你的功能

$("[type=checkbox]").each(function() {
    if($(this).is(':checked')){
        alert($(this).closest("div.gallery_bg").find("input[type=text]").val());
    }
});
Run Code Online (Sandbox Code Playgroud)

它应该工作.

但是我必须强调,你要听听上面的人说的话,以防止将来发生错误.