2015-04-15 46 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); 

      } 
相关问题