$(function() { $('#<%=btnAdd.ClientID%>').click( { code }); });
上面我在aspx代码中编写的jquery代码,它工作正常。但是,当我尝试通过创建一个js文件并将内部代码传输到该文件来外部化代码时,它不起作用。我的意思是当我在外部文件中编写相同的代码并将其添加到aspx页面时它不起作用。任何人都可以帮我解决问题吗?
答案 0 :(得分:2)
&LT;%= btnAdd.ClientID%GT;将不会被asp.net工作进程解析,因此它不会被按钮的客户端ID替换。此代码需要在您的aspx页面中 另一种方法是以不同的方式选择您的按钮,例如类,输入[type =“submit”]等。
$(function() { $('input[type="submit"]').click( { code }); });
答案 1 :(得分:1)
那是因为<%=btnAdd.ClientID%>
确实在文件中,它不是一个评估的服务器标签,导致类似container_btnAdd
,而是给按钮一个类,如下所示:
<asp:Button id="btnAdd" runat="server" CssClass="btnAdd" Text="Add" />
然后在选择器中使用那个类,因此ID无关紧要,如下所示:
$(function() {
$('.btnAdd').click({ code });
});
答案 2 :(得分:0)
可以通过从aspx页面传递变量中的值来完成。喜欢: 在aspx页面中:
<script language="javascript" type="text/javascript">
var btnAdd = '<%= btnAdd.ClientID %>';
<script>
在外化的js文件中:
$(function()
{
$('#' + btnAdd).click( {
----code----
});
});