jQuery中一个页面中的多个用户控件
本文关键字:用户 控件 一个 jQuery | 更新日期: 2023-09-27 18:33:20
我有一个用户控件,其中我有一个textbox
。我正在此文本框中使用jQuery自动填充。
当我在页面上多次使用此用户控件时,它不起作用。我知道这是因为textbox
的重复 ID,但我不知道如何解决这个问题。请帮帮我.
这是我的用户控制
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Classes.ascx.cs" %>
<asp:TextBox ID="txtClass" placeholder="search Class" type="text" runat="server" EnableViewState="true"
ClientIDMode="Static" Width="250px" OnTextChanged="txtClass_TextChanged"></asp:TextBox>
<script language="javascript">
$(function () {
$("#txtClass").autocomplete({
source: function (request, response) {
var oClass = $("#txtClass").val().replace('*', '');
.
.
.
.
}
});
}
更新
这是 HTML
<input name="ctl00$BodyContent$txtClassasd$txtClass" id="txtClass" placeholder="search Class" type="text" style="width:250px;" />
<script language="javascript">
$(function () {
$("#txtClass").autocomplete({
source: function (request, response) {
var test = document.getElementById("txtClass").value;
var oClass = $("#txtClass").val().replace('*', '');
<input name="ctl00$BodyContent$Classes1$txtClass" id="txtClass" placeholder="search Class" type="text" style="width:250px;" />
<script language="javascript">
$(function () {
$("#txtClass").autocomplete({
source: function (request, response) {
var oClass = $("#txtClass").val().replace('*', '');
您需要
将 ClientID 用于服务器控件
$("#<%=txtClass.clientID%>").autocomplete(
同时从 txtClass 控件中删除 ClientIDMode="Static"
如果您查看发送到浏览器的 html,我猜实际上没有 ID 为"txtClass"的文本框。你应该做类似$("#<%= txtClass.ClientID %>")...
使用 ID 数组:
如何使用 jquery 选择器 ID 文本框数组
或修改您的选择器
$("input").autocomplete({...