2016-09-16 61 views
0

如何将asp.net控件id动态地传递给jquery函数参数? 这里是我怎么想做到这一点传递asp.net控件id到jquery函数通过参数

SelectedDivAnimation('#'+<%=txtFirstName.ClientID%>); 
SelectedDivAnimation('#'+<%=txtLastName.ClientID%>); 

function SelectedDivAnimation(aspControl) { 
     $(controlid).on('focus', function() { 
      $(this).css({'width':'100%','transition':'1s'}); 
     }); 
     $(controlid).on('focusout', function() { 
      $(this).css({ 'width': '50%', 'transition': '1s' }); 
     }); 
    } 

我甚至尝试这

SelectedDivAnimation('#<%=txtFirstName.ClientID%>'); 
SelectedDivAnimation('#<%=txtLastName.ClientID%>'); 

当我运行这个预期并没有任何反应这是行不通的。

+0

您是否能够提供更多的页面结构? –

回答

0

<%%>之间一切都发生在服务器上,所有您需要做的就是放下+和移动第二个引号后的%> -

SelectedDivAnimation('#<%=txtFirstName.ClientID%>'); 
SelectedDivAnimation('#<%=txtLastName.ClientID%>'); 

假设它是在一个ASP页面。

所以假设txtFirstName.ClientID设置为client_a服务器将取代<%=txtFirstName.ClientID%>client_a其发送到客户端之前。因此,客户端将真正看到这一点 -

SelectedDivAnimation('#client_a'); 

如果你看到的是正确的ID是你的客户端上,然后这是很好的,但是你有另外一个问题 -

function SelectedDivAnimation(aspControl) { 
    $(controlid).on('focus', function() { 
     $(this).css({'width':'100%','transition':'1s'}); 
    }); 
    $(controlid).on('focusout', function() { 
     $(this).css({ 'width': '50%', 'transition': '1s' }); 
    }); 
} 

您传递变量aspControl到您的功能但是,您正在使用名为controlid的变量;您可能希望将它们设置为相同,即 -

function SelectedDivAnimation(aspControl) { 
    $(aspControl).on('focus', function() { 
     $(this).css({'width':'100%','transition':'1s'}); 
    }); 
    $(aspControl).on('focusout', function() { 
     $(this).css({ 'width': '50%', 'transition': '1s' }); 
    }); 
} 
+0

我做到了这一点,但它不起作用 –

+0

@JahanAhmedAbbasi你的代码是在一个asp页面还是js? –

+0

我的代码是在asp页面 –