Jquery 如何使用自动完成设置Id和名称

Jquery 如何使用自动完成设置Id和名称,jquery,autocomplete,Jquery,Autocomplete,行动课 public class Supplier extends ActionSupport{ private ArrayList supplierList; //contains list of supplisers with attribute(id,name,address,mailid) //getter and setter of supplierList } 这是我的formIn Jsp <form action="tes

行动课

public class Supplier extends ActionSupport{

        private ArrayList supplierList;
       //contains list of supplisers with attribute(id,name,address,mailid)
      //getter and setter of supplierList
    }
这是我的formIn Jsp

<form action="test" method="post">
   <input type="text" name="supplierName" id="supplierName">
    <input type="hidden" name="supplierId" id="supplierId">
</form>

我想显示supplierList名称的自动完成,并基于所选名称,我想在文本和隐藏框中设置其id和名称,在提交表单时,我想发送元素的id

您必须在自动完成的“选择”事件中设置隐藏字段的值,以便当用户从自动完成中选择名称时建议列表中,隐藏字段设置为该名称的id:

$('#textbox-id').autocomplete({
source: // Your ajax call here.

select: function(event, ui){
$('#supplierId').val(ui.item.id);
}
});

您应该使用jquery定义一个活动方法,以便在任何时候单击其中一个autocomplete元素来设置输入

<script type="text/javascript">
$('div.supplierItem').live('click', function(){
   $('#supplierId').val($(this).attr('id'));
   $('#supplierName').val($(this).val());
});
</script>

<div class="autoComplete">
   <div class="supplierItem" name="aaa" id="1">
      value1
   </div>
   <div class="supplierItem" name="bbb" id="2">
     value2
   </div>
</div>
也许这对你有帮助: 1将属性类设置为自动完成, 2使用类名查找自动完成

 $( elem ).autocomplete({
source: ...}).autocomplete( "widget" ).addClass( "whatever" );

它来自

我能够显示仅在jsp页面定义的自动完成