2013-03-13 55 views
0

我想用switch語句switch (buttionId)傳遞我選擇的按鈕的ID,但是函數沒有正確觸發。這裏是我的功能:傳遞語句傳入ID按鈕無法正常工作

function PickDiagCode(btnNum, button) { 
     var txtID; 
     var strId; 
     //var buttonId = $("input[id*=btnHeaderDiagPick]").attr("id"); 
     switch (button.value) { 
      case "Clear": 
       switch (button.id) {      
         case "btnHeaderDiagPick1": 
          //Do Work 

         case "btnHeaderDiagPick2": 
          //Do Work 

下面是按鈕:

<input class="Button-Search" id="btnHeaderDiagPick1" onclick="document.frmCrgEntry.hdnPickClrDiagCode.value='1';PickDiagCode('1',btnHeaderDiagPick1);" 
            type="button" name="btnHeaderDiagPick1" runat="server" /> 
    <input class="Button-Search" id="btnHeaderDiagPick2" onclick="document.frmCrgEntry.hdnPickClrDiagCode.value='2';PickDiagCode(2,btnHeaderDiagPick2);" 
           type="button" name="btnHeaderDiagPick2" runat="server" /> 
+0

對我來說看起來很好,它應該總是輸入第一種情況'btnHeaderDiagPick1',假設'btnID.value'總是返回''清除'' – 2013-03-13 21:22:55

+0

那麼你'使用jQuery,*不*從JavaScript綁定事件?保持代碼的好運氣,這將是一場噩夢。 – zzzzBov 2013-03-13 21:38:45

回答

0

你缺少document.getElementById()

switch (btnID.value) { 

變化

switch (document.getElementById(btnID).value) { 
+0

我們不知道'btnID'是什麼,在他的html中引用了一個全局變量,可能存在也可能不存在(這可能是真正的問題所在) – 2013-03-13 21:27:43

+0

@KevinB True。我做了假設變量btnID是一個字符串,而不是元素本身。 – 2013-03-13 21:29:36

+0

我btnID是元素。我試圖傳遞元素的id屬性。該值作爲元素的文本返回。 – MTL323 2013-03-13 21:31:59

0

你的問題似乎是這個:

document.frmCrgEntry.hdnPickClrDiagCode.value='1'; 

如果刪除它,一切正常。 Here is a fiddle其中一個按鈕有它,一個沒有。它被刪除的按鈕,工作沒有問題(用於調用該功能)