2013-10-17 61 views
0

我有一个页面,根据单独的js文件中的数据具有自动完成的搜索栏。如果我输入一个字母,则会抛出以该字母开头的相关名称或包含该字母的相关名称,如果我选择显示该名称附带的详细信息的结果。我只需要知道如何将图像链接到该数据,以便在选定图片时显示该名称的信息。如何将图像添加到JavaScript数组?

这里是我的Javascript代码:

$(function(){ 

    var currencies = [ 
     { value: 'Murray Smith', data: 'AFN', foto: src='img/logo.jpg' }, 
     { value: 'Brown Church', data: 'ALL' ,foto: src='../img/logo.jpg'}, 
     { value: 'Jack Jones', data: 'DZD' ,foto: src='../img/logo.jpg'}, 
     { value: 'Ben Clark', data: 'EUR' ,foto: src='../img/logo.jpg'}, 
     { value: 'Pete White', data: 'AOA' ,foto: src='../img/logo.jpg'}, 
     { value: 'East Caribbean dollar', data: 'XCD' ,foto: src='../img/logo.jpg'}, 
    ]; 

    // setup autocomplete function pulling from currencies[] array 
    $('#autocomplete').autocomplete({ 
     lookup: currencies, 
     onSelect: function (suggestion) { 
      var thehtml = '<strong>Currency Name:</strong> ' + suggestion.value + ' <br>  <strong>Symbol: </strong> ' + suggestion.data + '<br> <strong>Profile Pic:</strong> ' +  suggestion.foto; 
      $('#outputcontent').html(thehtml); 
     } 
    }); 
}); 

预先感谢您。

+0

为什么不使用src:'../ image/logo.jpg'?我相信这会起作用:) –

+5

您可以从编写有效的JavaScript开始。 'foto:src ='img/logo.jpg''包含语法错误。 –

回答

2

使用此代码:

var thehtml = '<strong>Currency Name:</strong> ' + suggestion.value 
      + ' <br> <strong>Symbol: </strong> ' + suggestion.data 
      + '<br> <strong>Profile Pic:</strong> <img ' + suggestion.foto +' />'; 
                ^^^ use image tag here 

和你foto应该是这样的:

foto: "src='img/logo.jpg'" 
    ^^^ add the double quotation mark to make it correct 
+0

我更喜欢你:),但是...我的工作仍然有效:p –

+0

@JamieHutber你是对的。你的代码也可以工作。但是在你的代码中,由于img标签被多次使用,因此代码冗余。但方法是正确的。 –

+0

准确地说,让我们假设他想要在每个img中分隔东西,例如alt标签....(他可以只添加另一个变量,是的是) –

0

更新你的阵列是有效的帮助:)

var currencies = [ 
     { value: 'Murray Smith', data: 'AFN', foto: '<img src="img/logo.jpg">' }, 
     { value: 'Brown Church', data: 'ALL' ,foto: '<img src="img/logo.jpg">'}, 
     { value: 'Jack Jones', data: 'DZD' ,foto: '<img src="img/logo.jpg">'}, 
     { value: 'Ben Clark', data: 'EUR' ,foto: '<img src="img/logo.jpg">'}, 
     { value: 'Pete White', data: 'AOA' ,foto: '<img src="img/logo.jpg">'}, 
     { value: 'East Caribbean dollar', data: 'XCD' ,foto: '<img src="img/logo.jpg">'}, 
]; 
+0

引用url而不是在currency数组中使用html会提高可重用性并减少重复。 '价值:'Murray Smith',数据:'AFN',foto:'img/logo.jpg''应该足够了。 – arvidkahl

0

安德烈·迪翁在他的评论中提到,你的语法是无效的。

你应该改变你的对象的照片属性值是:

foto: 'path/to/my/img.ext' 

,并在你的HTML,调用该属性时,其追加的图像标签内。

thehtml += '<img src="'+foto+'" alt="don't forget the blind!" />'; 

希望这会有所帮助。

‐ sid