如何从jQuery自动完成控件中检索所选值

时间:2011-07-30 13:40:12

标签: jquery autocomplete textbox

我的代码是:

<script type="text/javascript">
    var ab;
$(function() {
        $.getJSON('jsonSample.action',null,function(json) {
            ab = json.languageList;
            $("#tags").autocomplete({
                  data:ab
              });
              });
    });
    </script>

此代码工作正常,当我开始输入我已实现此项目的文本框时,显示所有建议,现在问题是我想触发另一个事件一旦从中选择了一个值建议列表...另一个问题是如何在用户从自动完成列表中选择时获取所选值

我参考了stackoverflow here

中的教程
 $(".tags").change(function(me) {
        alert(this.valu);
    });

此代码显示我在文本框中输入的值,它不显示我在自动完成中选择的项目。

我用了另一种方法;

$(".tags").result(function(event, data, formatted) {
        var u = this;
        // Check value here

    });

当我用firebug检查它时,它说找不到方法 ....我想显示从自动填充列表中选择的项目,并且它还必须在我选择一个后触发另一个事件项目......

提前致谢..

2 个答案:

答案 0 :(得分:0)

首先,看起来您正在将ID选择器#tags与类选择器.tags混合。

您需要始终引用该对象(所有内容都应为#tags)。这应该可以解决你的问题。

另外,请考虑对建议列表中显示的对象使用jQuery的.live()方法为其分配点击处理程序。

答案 1 :(得分:0)

我认为您应该使用“select”事件,并访问ui.item.label以获取所选值:

$("#tags").autocomplete({
    select: function(evt, ui) {
        alert("Selected: " + ui.item.label);
    }
});

问候。