如何通过jquery发送变量

时间:2014-04-25 05:32:26

标签: javascript php jquery jquery-ui autocomplete

我刚刚通过jquery创建了一个自动完成文本框,现在我遇到了两个问题。

1)我需要从自动填充列表中获取所选项目的值。

到目前为止,我做了这些......

我的jquery

$(document).ready(function(){
$("#tag").autocomplete("autocomplete.php", {
    selectFirst: true

});
});

我从数据库中获取自动完成列表工作正常,但问题是

2)当我输入“r”时,所有带有值的名称都会被填充,如果我从列表中选择说出Robin并尝试使用alert显示它,我只会得到'r',(我只输入r,并选中)列表中的'robin'为什么会这样?

这是我为此写的代码

表示自动填充文本框

  <input name="tags" type="text" id="tag"  value="" onchange= "newfn()" />

并在newfn()

<script>
        function newfn()
        {

             authname = document.getElementById("tag").value;

            document.autoquote.qid.value=authname;
            alert(authname);

        }
    </script>

如果我首先发出警告

alert("Hi");

然后,我得到第一个警告说你好,我得知的不是r

那么从自动填充列表中选择什么值的正确方法是什么?

现在我的第二个问题是从这个自动完成文本框中选择的值,我需要将它与另一个jquery一起传递到另一个php页面,以便我可以在那里得到这个值并在查询中作为标准给它。

4 个答案:

答案 0 :(得分:1)

您可以使用自动填充的选择属性,例如

$("#tag").autocomplete('autocomplete.php', {
    selectFirst: true,
    select: function (event, ui) {
        var label = ui.item.label;
        var value = ui.item.value;
        alert(label);
        alert(value)
     // you can write additional javascript code here to make use of these values

    }
 });

请查看jQuery UI documentation以获取更多示例和信息。

这是一个 JSFiddle 。(请注意,在小提琴中添加了一个额外的源属性来模拟数据集的加载,因为不允许真正的跨域AJAX调用)

答案 1 :(得分:1)

因为它不是捕捉选择事件http://api.jqueryui.com/autocomplete/#event-select的方式:

$(document).ready(function(){
    $("#tag").autocomplete("autocomplete.php", {
        selectFirst: true,
        select: function( event, ui ) {
            //Then use "ui" object, for example ui.item.label or ui.item.value                
        }
    });
});

答案 2 :(得分:1)

$(".autosearch-smart").autocomplete('autocomplete.php', {
 select: function( event, ui ) {
    // here you can get id and values from the autocomplete list
   // try to debug
     console.log(ui.item.id);
     console.log(ui.item.label);
     console.log(ui.item.value);
}


});

答案 3 :(得分:0)

$(document).ready(function(){
$("#tag").autocomplete("autocomplete.php", {
    selectFirst: true
    select: function( event, ui ) {
         //check the values in console    
         alert(ui.item.value+" - "+ui.item.value);      
    }
});
});