【问题标题】:How to send a variable via jquery如何通过jquery发送变量
【发布时间】:2014-04-25 14:04:30
【问题描述】:

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

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

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

我的 jquery

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

});
});

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

2) 当我输入“r”时,所有带有值的名称都会被填充,如果我从列表中选择说 Robin 并尝试用警报显示它,我只会得到“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 页面,以便我可以在那里获取这个值并在查询中将其作为标准。

【问题讨论】:

  • 我将其编码为 jason 并尝试通过 jquery 函数 WALLA 中的 select 来提醒它!问题解决了!!!还有一个问题,如何将这个从 ui.item.label 获得的变量传递给另一个 jquery 自动完成函数?

标签: javascript php jquery jquery-ui autocomplete


【解决方案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                
        }
    });
});

【讨论】:

  • 没用什么?您需要提供更多信息。选择回调没有被调用吗?您是否检查了错误控制台 (F12)? ...
  • 我正在使用netbeans,输出窗口是错误控制台,对吗?如果是这样,那么输出窗口是空白的,我也有firebug,我可以看到响应为robin
【解决方案2】:
$(".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);
}


});

【讨论】:

  • 我从控制台复制了您的代码并将其插入到我的代码中,第三个控制台代码显示错误,当我删除它时,它运行并且我选择了 robin 但 netbean 的输出没有显示任何空白跨度>
  • 没有人,仍然无法正常工作,我检查了 netbean 输出窗口和 firebug 控制台。
【解决方案3】:

你可以像这样使用自动完成的选择属性

$("#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调用)

【讨论】:

  • 我试过了,你的答案,但是当我从列表中选择“robin”时,没有出现警报! :-(
  • 我在应用自动完成时有一个不同的选择器,可能你只是复制了那个,给我一点时间,我将创建一个 jsfiddle 并分享一个链接。
  • @Mukund:我用一个工作小提琴更新了答案,你可以检查一下。 :)
  • 做到了,但网页中仍然没有警报
  • 还有一点要问的是,变量值和标签是否可用于另一个自动填充 jquery?
【解决方案4】:
$(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);      
    }
});
});

【讨论】:

  • 在我的 firefox 调试器中,我得到了 robin 的响应!是吗?这个值可以与另一个自动完成 jquery 一起传递,以便可以在另一个 php 页面中获取它吗?
猜你喜欢
  • 2014-08-20
  • 2015-08-17
  • 1970-01-01
  • 2014-01-30
  • 1970-01-01
  • 2017-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多