首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将HTML输入字段ID传递给jQuery自动完成中的PHP完成程序

将HTML输入字段ID传递给jQuery自动完成中的PHP完成程序
EN

Stack Overflow用户
提问于 2012-03-22 14:58:27
回答 2查看 497关注 0票数 0

我希望将输入字段的id传递给提供选项的PHP文件。这是我的HTML & jQuery代码。但是PHP程序获得的id是undefined。谢谢你的帮助。

jQuery:

代码语言:javascript
复制
    $('.classfield').autocomplete({

      //define callback to format results
      source: function(req, add){

        //pass request to server
        $.getJSON("ajax/ajax_suggestions.php?id="+$(this).attr('id')+"&callback=?", req, function(data) {

          //create array for response objects
          var suggestions = [];

          //process response
          $.each(data, function(i, val){
            suggestions.push(val.name);
          });

          //pass array to callback
          add(suggestions);
        });
      },

      //define select handler
      change: function(e) {
        $("#spill").html("change "+$(this).val()+e.type);
      }
    }); // autocomplete

HTML:

代码语言:javascript
复制
<input type="text" class="classfield" id="hello" value="there"></input><br>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-22 15:17:09

尝试从this.element获取id

代码语言:javascript
复制
//pass request to server
$.getJSON("ajax/ajax_suggestions.php?id="+this.element.attr('id')+"&callback=?", req, function(data) {

另请参阅this example

票数 0
EN

Stack Overflow用户

发布于 2012-03-22 15:07:29

$(this).attr('id')的值未定义,因为this是放入autocomplete参数中的对象( autocomplete的参数接受一个对象,因此如果使用$(this).attr('id'),则引用的是在autocomplete的参数中传递的对象)

因此,您不能使用$(this).attr('id')

你必须存储文本字段的id,可能是一个全局变量...希望这对你有一点帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9817735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档