对不起,我不知道这个案子有什么问题。
我有一个数组文本字段,它有keypress事件来调用jQuery函数。
这是我的文字字段:
<input type="text" id="idnya['+k+']" onkeypress="return $(this).fsearch()" />
它从函数运行查询以显示此div上的某些行:
<div id="divResult" style="display: none;"></div>
每次我点击其中一行时,该行都会填充到我的数组文本字段中。 无论如何,我已成功填写一个文本字段,但如果我添加其他文本字段。 我应该在这个功能中改变什么?
!function (e) {
e.fn.fsearch = function () {
var t = e(this);
$resultDiv = e("#divResult"), t.focus(), t.addClass("searchi"), $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(),
c = $resultDiv.find("ul li.selected").find(".atm").text();
t.val(l), e("#atm").val(c), $resultDiv.fadeOut()
} else $resultDiv.fadeIn(), $resultDiv.find("#search-footer").html("<img src='img/loader.gif' alt='Collecting Data...'/>"), e.getJSON("<?php base_url(); ?>/Mycontroller/searchjson", {
searchword: s
}, function (e) {
for (var t = "", i = 0; i < e.length; i++) t += "<li id=" + e[i].TermId + ' class="option"><span class="name">' + e[i].TermId + '</span><br/><span class="atm" style="font-size:9px;">' + e[i].AtmLocation + "</span></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") || i.hasClass("searchf") || $resultDiv.fadeOut()
}), t.click(function () {
var i = e(this).val();
"" != i && $resultDiv.fadeIn(), t.val("") && e("#atm").val("")
}), $resultDiv.find("li").live("click", function () {
e(this).attr("id");
var i = e(this).find(".name").text();
t.val(i);
var a = e(this).find(".atm").text();
e("#atm").val(a)
})
}
提前致谢。
答案 0 :(得分:0)
我认为如果我正确理解你的问题,这可能就是你要找的东西
$('tr').on('click', function(e) {
$('tr').removeClass('selected');
$(this).addClass('selected');
$(':text').each(function(index) {
$(this).val($('.selected')[0].children[index].innerText);
});
});