2013-03-24 72 views
2

有没有一种方法可以强制jQueryUI的自动完成,以显示数据标签,而不是数据值:Jquery自动完成键按下显示标签名称而不是值?

例如

[{“标签”:“名字”,“值”:“1”} ,{ “标签”: “NAME3”, “值”: “6”},{ “标记”: “NAME1”, “值”: “8”},{ “标签”: “NAME2”, “值”: “10”}]

$(".auto-search").autocomplete({ 
    minLength: 2, 
    dataType: 'json', 
    source: tempJson, 
    focus: function(event, ui){ 
     $('input[name="user-name"]').val(ui.item.label); 
    }, 
    select: function (event,ui){ 
     $('input[name="user-name"]').val(ui.item.label); 
     $('input[name="user-id"]').val(ui.item.value); 
     return false; 
    } 
}) 

上面的代码中,当按下下键,显示值,而不是标签。可以更改为显示标签吗?

+0

尝试回到你的JSON [{标签: “名”,值: “1”}],即:没有双引号 – 2013-03-24 11:06:00

回答

9

确保return false或阻止事件的默认操作从focus事件处理程序:

focus: function(event, ui){ 
    event.preventDefault(); 
    $('input[name="user-name"]').val(ui.item.label); 
}, 
+0

哇,安德鲁这看起来像正确的答案,我会给它一个去tongiht先谢谢+ 1。 – Bruce 2013-03-24 23:01:58

+0

感谢它的完美运作。 – Bruce 2013-03-25 23:02:32

+0

@ bluebill1049:没问题!乐意效劳。 – 2013-03-26 02:08:06

相关问题