如何在两个不同的HTML元素之间拆分jQuery自动完成中返回的数据

时间:2016-02-05 13:13:24

标签: java jquery jquery-ui autocomplete jquery-ui-autocomplete

我需要一些关于jQuery自动完成的帮助。

基本上,我想分割两个HTML元素之间返回的每组数据。这是我的工作代码,它只返回一个元素中的整个数据:

var autocomp    =   jQuery.noConflict();
    autocomp(document).ready(function() {
        var aTags = ["ask<####>1","always<####>2", "all<####>3", "alright<####>4", "one<####>5", "foo<####>6", "blackberry<####>7", "tweet<####>8","force<####>9", "westerners<####>10", "sport<####>11"];

      autocomp('#category').autocomplete({
            source: aTags,
            open: function (e, ui) {
        var acData = autocomp(this).data('ui-autocomplete');
        acData
        .menu
        .element
        .find('li')
        .each(function () {
            var me = autocomp(this);
            var keywords = acData.term.split(' ').join('|');
            me.html(me.text().replace(new RegExp("(" + keywords + ")", "gi"), '<b>$1</b>'));
        });
    }
        });
    });

HTML:

<div>
     <input type='text' name="category" id="category" >
</div>

<p class="a">You selected id: <span id="results"></span></p>

现在,我要做的是仅显示<####>中的第一部分(category之前)和results中的第二部分。

所以我想得到:

category value = 'ask'
results value = '1'

这是JSFiddle

1 个答案:

答案 0 :(得分:1)

我建议你以对象数组的格式更改aTags数组。如果需要,这可以自动完成。

摘录:

&#13;
&#13;
<link href="http://code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css" rel="stylesheet"/>
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="http://code.jquery.com/ui/1.11.3/jquery-ui.js"></script>

<div>
    <input type='text' name="category" id="category" >
</div>

<p class="a">You selected id: <span id="results"></span></p>
&#13;
{{1}}
&#13;
&#13;
&#13;