传递TextBox的ID给JQuery

本文关键字:JQuery ID TextBox 传递 | 更新日期: 2023-09-27 18:06:32

我有一个带有JQuery自动补全功能的三个文本框的页面我在JQuery中硬编码了文本框的ID来做自动补全,比如

$(function () {
 $('["#txtDocType"],["#txtOtherType"],["#txtFormType"]').autocomplete({
     source: function (request, response) {
     $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "MyPage.aspx/MyWebMethod",
        data: "{'prefixText':'" + request.term.toLowerCase() + "', 
        'ddvId':'" + $(this).prop('id') + "'}",
        dataType: "json",
        success: function (data) {
                 response(data.d);
                },
        error: function (result) {}
                 });
            },
            minLength: 1
        }); 
  });

是否有可能在某些事件期间将文本框的ID传递给jquery,而无需硬编码文本框的ID(我已经搜索了它,看到了这么多页面,但没有任何帮助)

传递TextBox的ID给JQuery

更新你的HTML:

<input type="text" id="txtDocType" />
<input type="text" id="txtOtherType" />
<input type="text" id="txtFormType" />

变成这样:

<input type="text" id="txtDocType" class="my-text-box" />
<input type="text" id="txtOtherType" class="my-text-box" />
<input type="text" id="txtFormType" class="my-text-box" />

并更新你的javascript如下:

$(function () {
 $('.my-text-box').autocomplete({
     source: function (request, response) {
     $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "MyPage.aspx/MyWebMethod",
        data: "{'prefixText':'" + request.term.toLowerCase() + "', 
        'ddvId':'" + $(this).prop('id') + "'}",
        dataType: "json",
        success: function (data) {
                 response(data.d);
                },
        error: function (result) {}
                 });
            },
            minLength: 1
        }); 
  });