0

我用.ascx

我正在尝试使用我的 jQuery 执行一些操作,下面的代码是我调用服务器控件 ID 的方式。

$("input").mouseenter(function() {
//some function
}

<input type="text" id="family1" value="family"1/> 
<input type="text" id="family2" value="family"2 runat="server"/> 

我现在的问题是我的 family1 能够调用 jQuery 函数,但我的家人不能。
是因为我正在使用.ascx,所以我无法将服务器控件 ID 传递给我的 jQuery?
有什么想法可以解决吗?

4

4 回答 4

0

利用:

$("#<% family2.ClientID %>").mouseenter(function() {
    //some function
 }

因为您可以重用您的控件,asp.net 正在为您的 ID 添加一些前缀。此生成的 ID 因页面而异。您可以检查页面上生成的 ID 并将该 ID 硬编码到 jQuery 选择器中,但使用 clientID 是可行的方法。您可以通过控制在所有页面上使用它而无需担心。

于 2013-03-06T06:47:32.260 回答
0
 $(document).ready(function () {
        $('.ctl00_m_g_3b0d8e69_1961_4bea_886d_413493ff7f9c_ctl00_checkclass').hover(function (event) {
            alert('dada');
            var c = alert($(this).attr("id"));
            alert(c);
        });
    });


<input type="text" id="family1" value="family1" class="checkclass"/> 
<input type="text" id="family2" value="family2" class="checkclass" /> 
<input type="text" id="family3" value="family3" class="checkclass" />
于 2013-03-06T05:40:45.133 回答
0

你可以得到,通过使用ClientID

在这里查看

于 2013-03-06T06:34:39.413 回答
0

用这个ClientIDMode="Static"

 <input type="text" id="family2" ClientIDMode="Static" value="family" runat="server"/> 

编辑 1

ClientIdMode="Static":这是最基本、最简单的模式,它使客户端 ID 静态。
无论您为 ClientID 或 ID 设置什么值,都将用于客户端 ID。
这里有一个奇怪的情况,如果在重复控件中使用静态 ClientIDMode,则开发人员负责确保客户端 ID 的唯一性。
http://www.codeproject.com/Articles/34151/ASP-NET-4-0-Client-ID-Feature

于 2013-03-06T06:46:25.553 回答