从自动完成填充多个数组文本字段

时间:2014-03-11 04:26:41

标签: jquery autocomplete

如何从自动完成中填充多个数组文本字段。

!function (e) {
e.fn.fsearch = function (k) {
    var t = e(this);
    $resultDiv = e("#divResult"), t.focus(), t.addClass("searchi["+k+"]"), $resultDiv.html("<ul></ul><div id='search-footer' class='searchf'></div>"), t.keyup(function (i) {
        function a(e, t) {
            e.removeClass("selected"), e.eq(t).addClass("selected")
        }
        var s = e(this).val();
        if ("" != s) {
            var n = e(".selected").index(),
                o = $resultDiv.find(".option"),
                r = o.length;
            if (40 == i.keyCode) r > n + 1 && (n++, a(o, n));
            else if (38 == i.keyCode) n > 0 && (n--, a(o, n));
            else if (13 == i.keyCode) {
                $resultDiv.find("ul li.selected").attr("id");
                var l = $resultDiv.find("ul li.selected").find(".name").text();
                t.val(l), $resultDiv.fadeOut()  
            } else $resultDiv.fadeIn(), $resultDiv.find("#search-footer").html("<img src='img/loader.gif' alt='Collecting Data...'/>"), e.getJSON("<?php base_url(); ?>/CoC/in/Cin/searchjson", {
                searchword: s
            }, function (e) {
                for (var t = "", i = 0; i < e.length; i++) t += "<li id=" + e[i].MyId + ' class="option"><span class="name">' + e[i].MyId + '</span><br/></li>";
                $resultDiv.find("ul").empty().prepend(t), $resultDiv.find("div#search-footer").text(e.length + " results found..."), $resultDiv.find("ul li").first().addClass("selected")
            }), $resultDiv.find("ul li").live("mouseover", function () {
                n = $resultDiv.find("ul li").index(this), o = $resultDiv.find(".option"), a(o, n)
            })
        } else $resultDiv.hide()
    }), 

    jQuery(document).live("click", function (t) {
        var i = e(t.target);
        i.hasClass("searchi["+k+"]") || i.hasClass("searchf") || $resultDiv.fadeOut()
    }), 

    t.click(function () {
        var i = e(this).val();
        "" != i && $resultDiv.fadeIn(), t.val("")
    }), 

    $resultDiv.find("li").live("click", function () {
        e(this).attr("id");
        var i = e(this).find(".name").text();
        t.val(i);
    })
}

此功能仅填充一个文本字段,如果我填写其他文本字段,则该值将相同。我应该从这个函数改变什么,以便我可以用这个函数填充不同值的不同文本字段?

很抱歉,如果有这么多类似的问题。但我还没有找到答案。 提前谢谢。

0 个答案:

没有答案