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

时间:2013-10-20 07:46:14

标签: 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
    }

这是我的表格(在Jsp中)

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

我想显示supplierList名称的自动填充功能,并根据所选名称我想在文本和隐藏框中设置其ID和名称,并在表单提交时我想发送元素的ID

3 个答案:

答案 0 :(得分:0)

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

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

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

http://jqueryui.com/autocomplete/#remote

答案 1 :(得分:0)

您应该使用jquery定义一个实时方法,以便每次单击其中一个自动完成元素来设置输入

<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>

答案 2 :(得分:0)

也许它会帮助你: 1)将属性类设置为自动完成, 2)找到类名为

的自动完成
 $( elem ).autocomplete({
source: ...}).autocomplete( "widget" ).addClass( "whatever" );

来自http://bugs.jqueryui.com/ticket/8928