需要知道ID或表单输入字段的名称

问题描述:

使用jQuery自动完成..想用javascript替换下面脚本中的“hello”以标识输入字段的“名称”或“id”...在单个页面上的几个实例,所以我不使用ID,只有类...)需要知道ID或表单输入字段的名称

$(".suggest").autocomplete({ 
     source: function(request, response) { 
      console.log(request.term); 
      $.ajax({ 

       url: "http://www.mysite.com/suggest/", 
       dataType: "json", 
       data: { 
        'q': request.term , 
        'r': "hello" 
       }, 
       success: function(data) { 
        response(data); 
       } 
      }); 
     }, 


    }); 
+0

如果一个形式既具有'[ID]'和优先级了'[名]'? – zzzzBov

+2

等等...如果你不使用“ID”,那么你想要这个ID是什么意思? – Pointy

+0

@zzzzBov“名称”是唯一对于表单而言至关重要的内容 – Pointy

从我记得应该this.element:

$(".suggest").autocomplete({ 
    source: function(request, response) { 
     var name = $(this.element).attr('name'); 
     console.log(request.term); 
     $.ajax({ 

      url: "http://www.mysite.com/suggest/", 
      dataType: "json", 
      data: { 
       'q': request.term , 
       'r': name 
      }, 
      success: function(data) { 
       response(data); 
      } 
     }); 
    } 
}); 
+0

完美。工作很好。 –

+0

不要问我为什么这不是真的在任何地方记录。 – Daff

是否如下简单?

$(this).attr("id") || $(this).attr("name") 
+0

这两个不是彼此的替代品,所以我绝不想冒着混淆的风险。名称不是唯一的,可以由此产生一个问题的例子。 – Steven