jQuery自动完成 - 多列和返回数据而不是值

时间:2010-05-10 11:57:53

标签: javascript jquery html autocomplete

我目前正在使用DevBridge jQuery Autocomplete plugin - 它可以正常工作,但是我想在多列视图中显示返回的信息,但是点击时只返回第一个值。

HTML

<form class="form" action="index.php" onsubmit="alert('Submit Form Event'); return false;">
  <div id="selection"></div>
  <input type="text" name="q" id="query" class="textbox" />
</form>

的Javascript

jQuery(function() {

  var options = {
    serviceUrl: '/autocompleterequestcall.php',
    maxHeight:400,
    width:600,
    fnFormatResult: fnFormatResult,
    deferRequestBy: 0 //miliseconds
  };

  a1 = $('#query').autocomplete(options);
});

所以我希望我需要使用fnFormatResult以某种方式显示多列值,这些值由|分隔,即

REFERENCEID | POSTCODE | ADDRESS_LINE_1 | SURNAME

我希望将整个回报换成<table>,但我无法弄清楚将<table></table>标记放在哪里,或者我只是将|替换为</div><div>

然后,当选择一个项目时,而不是返回

REFERENCEID | POSTCODE | ADDRESS_LINE_1 | SURNAME

我想看看

REFERENCEID

1 个答案:

答案 0 :(得分:0)

返回数据:

在浏览devbridge网站时,我完全错过了onSelect选项,事实证明我所要做的就是设置选项并创建我自己的功能:

function onSelect(v,d) {
  $('#query').val(d);
}

jQuery(function() { 

  var options = { 
    serviceUrl: '/autocompleterequestcall.php', 
    maxHeight:400, 
    width:600, 
    onSelect: onSelect,
    fnFormatResult: fnFormatResult, 
    deferRequestBy: 0 //miliseconds 
  }; 

  a1 = $('#query').autocomplete(options); 
});