2015-04-15 47 views
2

我有一個返回圖像的XHR響應。我有我的功能,以顯示圖像。我在相同的代碼片段中結合了JQuery和JS。到目前爲止,一切工作正常:在javascript中使用圖像src填充輸入字段

function resultat(o){ 
      var leselements = o.query.results.bossresponse.images.results.result; 
      var output = ''; 
      var no_items = leselements.length; 
      for(var i=0;i<no_items;i++){ 
      var lien = leselements[i].url; 

      //place image urls in img src 
      output += "<img src='" + lien + "' class='imgs'>"; 
      } 
      // Place images in div tag 
      document.getElementById('results').innerHTML = output;} 

但我想,讓用戶點擊一個圖像,然後填充輸入字段(「#imageurl」)與點擊圖片src。這是我試過的,但不起作用。

$('.imgs img').click(function(){ 
      $('#imageurl').val() = ""; 
      var source = $(this).attr('src'); 
      $('#imageurl').val() = source;  
      }); 

任何幫助將不勝感激。 TIA。

回答

5

以這種方式使用.val()將只返回#imageurl的當前值。

$('#imageurl').val() 

.val是一個函數調用,作爲一個getter和setter。

要設置的值,試試這個:

$('#imageurl').val(source); 
1

試試這個:

$('img.imgs').click(function(){ 
    var src = $(this).attr('src'); 
    $('#imageurl').val(src); 
}); 

如果圖像將事件處理程序的附件後呈現使用:

$('img.imgs').live('click', function(){ 
    var src = $(this).attr('src'); 
    $('#imageurl').val(src); 
}); 
0

謝謝你們提供的答案。我嘗試了所有這些,但他們沒有爲我工作。然後我問了一個朋友,我們終於找到了一種方法來使它工作。可能不是最好的或專業的方式,但它的工作原理。如果有人需要它,這裏是解決方案。

function resultat(o){ 
      var leselements = o.query.results.bossresponse.images.results.result; 
      var output = ''; 
      var no_items = leselements.length; 
      for(var i=0;i<no_items;i++){ 
      var link = leselements[i].url; 

//Place urls in image src and pass in 'link' parameter to the getsrc function 
      output += "<img src='" + link + "' onclick='getsrc(\""+link+"\")'>"; 
      } 
      // Place images in div tag 
      document.getElementById('results').innerHTML = output; 


     } 

     function getsrc (link) { 
      //console.log($(this)); 
      $('#imageurl').val(""); 
      // var source = $(this).attr('src'); 
      //place imageurl value by passing in the link parameter. 
      $('#imageurl').val(link); 

      } 
相關問題