我正在尝试为我的数据库中列出的国家/地区制作自动填充建议。我设法得到列表,我正在尝试绑定每个国家/地区的条目的点击事件。虽然我认为这是做到这一点的方法,但代码总是使用最后一项的值并将其放在输入字段。
Suggestions
是我的自动填充容器,我要更新的文本字段是box
。
$('#box').on('input', function (){
var typedLocation = { 'location' : $(this).val() };
var key;
$.post( "/suggestions.php", typedLocation, function( data ) {
$('#Suggestions').html('').show();
for (key in data) {
$('#Suggestions').append('<div id="suggest' + key + '" >' + data[key] + '</div>');
$('#Suggestions').find('#suggest' + key).click(function (){
$('#Suggestions').hide();
$('#box').val(data[key]);
});
}
});
});
答案 0 :(得分:1)
我没有使用变量来设置输入字段的值,而是在点击功能中使用了$(this).html()
。
采用Joe的例子(因为它似乎更优雅):
var $elem = $('<div>' + data[key] + '</div>');
$elem.click(function () {
$('#Suggestions').hide();
$('#box').val($(this).html());
});
$('#Suggestions').append($elem);