gpt4 book ai didi

javascript - 如何在自动完成文本区域的 Jquery 函数中将变量分配为 Id

转载 作者:行者123 更新时间:2023-11-30 16:57:45 25 4
gpt4 key购买 nike

我有一个文本区域,它调用一个 jQuery 函数来自动完成字段。但是我的文本区域 ID 是动态创建的,我必须在单击文本区域时传递这些 ID。

但是 jQuery 函数中的变量在这里不起作用是我的代码

   function SearchText(id) {
var TxtboxId ="";
TxtboxId = "#IdPrefix_" + id;

$(TxtboxId).autocomplete({
source: function(request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "demo.aspx/GetAutoCompletfunc",
data:'{"key":"' + request.term +'"}',
dataType: "json",
async: false,
success: function(data) {
response(data.d);
},
error: function(result) {
alert("Error");
}
});
}
});
}

通过文本区域的onclick事件调用该函数。此代码被添加到一个循环中以动态创建文本区域。这里调用 SearchText 函数。

ListArr[++j] = '<td width="20%" ><textarea id="IdPrefix_' + id  + '" type="textbox" onclick = "javascript:SearchText( ' + id + ' );"  maxlength="300"

但它在 $(TxtboxId).autocomplete 中不起作用

有人知道解决办法吗?请回答。

最佳答案

您可以选择元素类型并从事件中获取 id

在此处查看演示 JS Fiddle

var sourceStub = [
{label: "bat", value: "batman"},
{label: "cat", value: "catwomen"},
{label: "rat", value: "mighty mouse"},
{label: "dog", value: "lassie"}
];

$("textarea").keyup(function(e) {
$("#" + e.target.id).autocomplete({
source: sourceStub
});
});
<table>
<tr><td width="20%" >
<textarea id="IdPrefix_1" type="textbox"></textarea>
</td></tr>
<tr><td width="20%" >
<textarea id="IdPrefix_2" type="textbox"></textarea>
</td></tr>
</table>

或者如果你有文本区域,你不想参与自动完成的乐趣,你可以创建一个类

.autoCompleteMe {}

并将该类添加到您要在其上运行自动完成的每个元素

<textarea class="autoCompleteMe" id="IdPrefix_1" type="textbox"></textarea>

然后选择那个类

$(".autoCompleteMe").keyup(...);

关于javascript - 如何在自动完成文本区域的 Jquery 函数中将变量分配为 Id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29405077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com