2013-12-23 11 views
0

當我將控件的id傳遞給返回值的廣義函數時,它不起作用n給出編譯錯誤。將控件的id傳遞給廣義jquery函數以使值無效

getval('txtid'); 

function getval(id) 
{ 
var value = $('#<%= '+ id +'.ClientID %>').val();//Error 
} 

它給出了預期的表達式編譯錯誤。

+0

這是一個錯字:'函數GETVAL( 'txtid');'??? –

+1

你真的試圖將一個JavaScript變量連接到你的服務器端代碼中,希望服務器可以訪問在客戶端計算機上運行的代碼,或者你在某種程度上使用其他模板系統來實現這個功能嗎? – adeneo

回答

1
function getval('txtid'); //invalid 

當調用函數時,不需要以function爲關鍵字的前綴。

getval('txtid'); //valid 

另一個也許

       |-----------missing space 
var value = $('#<%= '+ id +' .ClientID %>').val(); 
       //leave a space when you add class 
0

你想要做什麼或者是:

getval('txtid'); 


function getval(id) 
{ 
var value = $("input[id$='" + id +"']").val()..... 
} 

,或者你可以添加一個類或自定義屬性的controls,你可以選擇on

​​

0

首先關閉所有你已經調用的函數錯誤:

變化:

function getval('txtid'); 

要:

getval('txtid'); 

,你也需要從功能有時返回你(不是強制性的,但在你的函數調用中不會產生任何東西):

function getval(id) 
{ 
    var value = $("#<%= '+ id +'.ClientID %>").val();// or u can use $("[id$='"+id+"']").val() 
    return value;// wiil retun you txtid i think u want this 
} 

Example

+0

感謝您的回覆...但仍然得到相同的編譯 – user3125430

+0

是您的控制服務器端rutat =「服務器」 –

+0

是....它的作品,如果id名稱staic .. function getval() { var value = $ ('#<%= txtid.ClientID%>')。val(); 返回值; } ..但我想要一個函數用於所有.... – user3125430