Jquery在将其外部化为js文件时无法正常工作

时间:2010-09-28 13:35:56

标签: jquery external

  

$(function() { $('#<%=btnAdd.ClientID%>').click( { code }); });

上面我在aspx代码中编写的jquery代码,它工作正常。但是,当我尝试通过创建一个js文件并将内部代码传输到该文件来外部化代码时,它不起作用。我的意思是当我在外部文件中编写相同的代码并将其添加到aspx页面时它不起作用。任何人都可以帮我解决问题吗?

3 个答案:

答案 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---- 
    }); 
});