2012-11-06 66 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); 
相關問題