2016-04-04 67 views
0

我需要傳遞字符串作爲onclick函數中的ID。當我通過整數作爲id,它工作正常,但是當我傳遞字符串,它甚至沒有去函數。在onclick函數的for循環中傳遞字符串

HTML代碼(下面是錶行這是內部的for循環。)

<td class="col-md-2" width="50" style="background-color: transparent;"> 
<input class="btn btn-sm btn-primary fa" id='[email protected]' type="button" value="&#xf040" onclick='showedit(@item.ID);' /> 
</td> 

JavaScript代碼:

function showedit(par) { 
     if (editItem == par) { 
      return; 
     } 
     if (editItem > 0) { 
      cancel(editItem); 
     } 

     --code processing-- 
     editItem = par; 
    } 

上面的代碼工作正常,如果有在item.Id整數值。但是,當我更改HTML代碼的字符串值爲item.Id時,沒有任何反應。它甚至沒有去函數(通過放置斷點來檢查)。

HTML代碼 - 與item.ID作爲字符串***the below isn't working***

<td class="col-md-2" width="50" style="background-color: transparent;"> 
<input class="btn btn-sm btn-primary fa" id='iedit-\"" [email protected] +"\"' type="button" value="&#xf040" onclick='showedit(\"" [email protected]+ "\");' /> 
</td> 

我搜索並嘗試幾個類似的選項,但沒有似乎是爲我工作。請指教。

+0

jsfiddle please? –

+1

謝謝。但我對這一切都非常陌生,這是我第一個涉及JS和HTML的項目。不幸的是從來沒有用過jsfiddle。您的評論後,我試圖使用jsfiddle。 Gmme有時間嘗試回覆。謝謝 – Gaurav

+1

請參閱@lukbl答案,其中將引號添加到showsit()參數。在你的代碼中缺少引號似乎是最可能的問題。 – Roberto

回答

2

你在服務器上使用asp.net mvc嗎?

<td class="col-md-2" width="50" style="background-color: transparent;"> 
<input class="btn btn-sm btn-primary fa" id='[email protected]' type="button" value="&#xf040" onclick='showedit("@(item.ID)");' /> 
</td> 

還要注意的inputid會比item.ID您正在傳遞給函數的不同 - 它與「IEDIT」爲前綴 - 確保不會引起你的函數的任何問題。

+0

非常感謝。是的,我正在使用asp.net mvc。這工作。在過去的3-4個小時裏掙扎着。還會檢查另一點。再次感謝您的一切。 – Gaurav