奇怪的jquery引用问题

时间:2013-10-15 08:34:37

标签: javascript jquery twitter-bootstrap text-to-speech bootstrap-typeahead

我正在编写一个函数,当您从bootstrap的预先输入函数中单击预测时,该函数会激活。此函数将字值和所需语言传递给文本转语音功能。

这个文本转语音功能正常工作,但我坚持将bootstrap的预测传递给此函数。

控制台记录“第1行的语法错误”,我认为这是因为追加函数中的引号问题

我希望有人能帮我正确设置报价。

$('#search-box').bind('typeahead:selected', function(obj, value)
{
   console.log(value.value);
  $('#resultaten').append('<a href="#" onClick="praten("value.value", "nl")">' + value.value + '\&nbsp;<img src="img/speaker.png" alt="speaker"/></a><br />');
});

1 个答案:

答案 0 :(得分:1)

你需要在你的onclick中转义引号:

$('#search-box').bind('typeahead:selected', function(obj, value) {
                console.log(value.value);
                $('#resultaten').append('<a href="#" onClick="praten(&quot;value.value&quot;, &quot;nl&quot;)">' + value.value + '\
        &nbsp;<img src="img/speaker.png" alt="speaker"/></a><br />');
            });

或者使用撇号:

$('#search-box').bind('typeahead:selected', function(obj, value)
{
   console.log(value.value);
  $('#resultaten').append('<a href="#" onClick="praten(\'value.value\', \'nl\')">' + value.value + '\&nbsp;<img src="img/speaker.png" alt="speaker"/></a><br />');
});

此外,如果您使用的是jQuery,则根本不需要onclick处理程序:

$('#search-box').bind('typeahead:selected', function(obj, value)
{
    $('#resultaten').append('<a href="#" '+value.value+'\&nbsp;<img src="img/speaker.png" alt="speaker"/></a><br />')
                    .click(function() {
                        praten(value.value, "n1");
                    });
};