2017-08-26 56 views
0

無法發送多字符串值作爲參數傳遞給javascript函數傳遞多個字符串值從服務器端JavaScript函數參數

我的服務器端的編碼是這樣的:

_

json += "<td><input type='checkbox' id='chkBoxHelp' onclick='chkbox('" + dt.Rows[i][1].ToString() + "','" + dt.Rows[i][2].ToString() + "');'"; 

而我的客戶端編碼看起來像:

function chkbox(id,name) { 
alert(id,name); 
} 
+0

我在聲明的末尾添加了缺少的'「;',因爲它不是問題,但是不正確。 –

回答

1

既然你引用了你的屬性值爲',它在裏面的第一個'結束。

相反,使用"

json += "<td><input type='checkbox' id='chkBoxHelp' onclick='chkbox(\"" + dt.Rows[i][1].ToString() + "\",\"" + dt.Rows[i][2].ToString() + "\");'"; 
// -----------------------------------------------------------------^^--------------------------------^^-^^--------------------------------^^ 

或者,當然,不使用內聯onxyz -attribute式處理所有的,因爲他們有幾個問題,並非最不重要的,像你chkBoxHelp功能有成爲全局變量。

例如,你可能會在參數存儲爲data-*值:

json += "<td><input type='checkbox' id='chkBoxHelp' data-id='" + dt.Rows[i][1].ToString() + "' data-name='" + dt.Rows[i][2].ToString() + "'"; 
// -------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

...並使用現代事件處理(addEventListener等)掛鉤的功能,並具備的功能檢索值從元素。

相關問題