2016-09-16 62 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頁面 –