2012-11-06 27 views
2

我刚刚发布了一个类似的问题,以找出它并不完全是我需要的。我很抱歉。使用jQuery选择当前div的第一张图片

这是我与工作代码:

jQuery(document).ready(function($) { 

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

    targetfield = $(this).prev('.logo_url'); 
    tb_show('', 'media-upload.php?type=image&TB_iframe=true'); 

    window.send_to_editor = function(html) { 
     imgurl = $('img',html).attr('src'); 
     jQuery(targetfield).val(imgurl); 
     tb_remove(); 

     $('.upload_preview img').attr('src',imgurl); // THIS IS WHERE I'M HAVING PROBLEMS 

     $('#submit_options_form').trigger('click'); 
    }; 

    return false; 

    }); 
}); 

我不是最好的使用jQuery和我还是新的一些事情。我需要在预览类中填充img标记的url,但只能在获取url的那个URL中填充。我现在所拥有的每个图像标签都会包含该类。任何帮助是极大的赞赏。

我需要它填充它像输入字段被填充。

编辑

下面是一些HTML示例。我在页面上使用了这些的倍数。

<li class="slide"> 

      <input class="logo_url" name="theme_wptuts_options[logo]" value="src[]" /> 
       <input class="upload_button" type="button" class="button" value="<?php _e('Upload Logo'); ?>" /> 

       <div class="upload_preview" style="min-height: 100px;"> 
        <img style="max-width:100%;" src="src[]" /> 
       </div> 

      <button class="remove_slide button-secondary">Remove This Slide</button> 

</li> 

回答

1

经过大量的试验和错误,这是我结束了与我想要的作品。我感谢大家的帮助和解答。

jQuery(document).ready(function($) { 
$('.upload_button').click(function() { 
    targetfield = $(this).prev('.logo_url'); 
    imgpreview = $(this).parent().find('img'); 
    tb_show('', 'media-upload.php?type=image&amp;TB_iframe=true'); 
window.send_to_editor = function(html) { 
    imgurl = $('img',html).attr('src'); 
    jQuery(targetfield).val(imgurl); 
    tb_remove(); 
    $(imgpreview).attr('src', imgurl); 
    $('#submit_options_form').trigger('click'); 
}; 
return false; 
}); 
}); 
+0

这样一个简单的解决方案...太糟糕了,很难找到它!好工作人! – VIDesignz

0

:first选择做的工作:

$('.upload_preview:first img').attr('src', imgurl); 
+0

这不工作:(它填充img标签的第一个实例不管是什么。 – souporserious

+0

对不起,这是不是你想要的? –

+0

关闭,请看看我的编辑。 – souporserious

1

imgUrl的* EDITED 11/05/2012下午9时47 ET *

这可能是它!我不能在小提琴中测试,因为我无法在小提琴中执行window.send函数。

Revised Working Fiddle

JQuery的

var whichLi; 

jQuery(document).ready(function() { 

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

     whichLi= $(this).parent('li'); 

     targetfield = $(this).prev('.logo_url'); 
     tb_show('', 'media-upload.php?type=image&amp;TB_iframe=true'); 

     window.send_to_editor = function(html) { 


      imgurl = $('img', html).attr('src'); 
      jQuery(targetfield).val(imgurl); 
      tb_remove(); 

      $(whichLi).find('img').attr('src', imgurl); 
      $('#submit_options_form').trigger('click'); 
     }; 

     return false; 

    }); 
}); 
+0

我试图用“这个“没有运气,我相信,因为它在另一个功能的权利?所以我用'.upload_button'来代替'this',但它填充每个img字段不只是一个:( – souporserious

+0

为什么不拉这一行代码下面的window.sendtoeditor函数?但它保存在$('。upload_button')。click()函数?我没有看到任何if语句,所以它应该是好的.. – VIDesignz

+0

它需要在window.sender内,但因为变量imgurl是填充img字段的东西。 – souporserious

2

使用:当量(0),它会选择第一元件,IMHO的最佳方式相比。首先()。去年()等:)

$('.upload_preview img:eq(0)').attr('src',imgurl); 
相关问题