我还是jQuery的新手!在我的旧网站上测试它以测试它的功能。我甚至无法运行一个简单的jQuery脚本,而且非常令人尴尬。请帮帮我们!
出于某种原因,我无法通过id获取jQuery选择器来查找元素。这是代码
$(document).ready(function () {
if (jQuery) {
alert("jQuery working");
} else {
alert("jQuery not working");
}
$('#TextBox4').keyup(function () {
alert("KEYUP FUNCTION WORKENGGG");
var password = jQuery('#TextBox3').val();
var cfmPassword = jQuery('#TextBox4').val();
check_password_match(password, cfmPassword);
});
});
这是我的ASP html代码。
<asp:TextBox ID="TextBox4" runat="server" BackColor="#181818" ForeColor="White"
TextMode="Password" ToolTip="Password">Password</asp:TextBox>`
<asp:TextBox ID="TextBox3" runat="server" BackColor="#181818" ForeColor="White"
TextMode="Password" ToolTip="Password" Height="22px">Password</asp:TextBox>`
答案 0 :(得分:3)
试试这个:
$('#<%=TextBox4.ClientID %>')
在客户端,asp.net控件的id与你在aspx页面中给出的id不同。
答案 1 :(得分:1)
HTML元素的ID与ASP控件的ID不匹配。原因是ASP.NET控件可以是命名控件,它充当ID命名空间,允许多个控件具有相同的ID但不同的ClientID。最终结果是ClientID是您应该在JQuery中搜索的内容。即$('#<%# TextBox4.ClientID %>')
将返回您要检索的JQuery元素。
答案 2 :(得分:0)
我找到了一种最简单的方法来快速检查jQuery是否发现你的元素是使用类似的东西:
$("#TextBox4").css("border","solid 1px red");
这样,当你的页面加载你的给定元素时,应该用红色突出显示。然后,您可以继续了解真正的代码,知道选择器正在运行。
假设您的警报已经弹出并且您确实安装了jQuery,我建议您检查一下您的实际来源。也就是说,浏览到相关页面并查看实际html的呈现方式。
因为你似乎在使用asp标签,(我认为某些微软.NET的味道?),意识到在渲染页面的时候,输出中的实际html标签看起来与你编码的行非常不同。查看视图源并检查文本框实际呈现的内容。您可能会发现它是<textarea>
或<input>
标记。查看id是否已更改。我相信Microsoft有一种方法可以将id或其他变量附加到您提供的ID中。你可能会发现真正的代码jQuery使用你的选择器看起来像:
<input type="text" id="TextBox4_123124" ....
或类似的东西。在这种情况下,您将必须查看id是否始终以相同的方式更改,否则,您可能必须使用Microsoft的jQuery实现 - 如果有的话。
要真正尝试你的jQuery选择器,尝试在纯HTML中从头开始编写一个html文本元素,看看它是否适合你,然后继续解密微软自动生成的html。