2013-10-02 41 views
0

我需要將選擇器隱藏字段傳遞給javascript函數。將隱藏字段傳遞給javascript函數

這是我的功能

function deleteAttachments(id,selector){ 
      $('#proof' + id).remove(); 
      //show warning about save 
      var tmp = selector.val(); 
      var sep = ""; 
      if (tmp != "") 
       sep = ","; 
      selector.val(tmp + sep + id); 
     }  

以上函數調用以下方法中,

function listAttachments(proofs,selector,hiddenField,after){ 

      //alert(hiddenField.id); 
      var rows = "<table width=\"70%\">"; 
      for(var i=0; i<proofs.length; i++) { 
       var proof = proofs[i]; 
       rows += "<tr id=\"proof" + proof["ID"] + "\" width=\"40%\">" 
       rows += "<td><input type=\"hidden\" value=\"" + proof["filename"] + "\" id=\"Proof" + i + "\" />Uploaded: " + proof["uploaded"] + "</td>" 
       rows += "<td width=\"90px\"><input type=\"button\" value=\"View...\" onclick=\"viewProof('" + proof["URL"] + "'); \" id=\"btnProof" + i + "\" class=\"btn\"></td>" 
       rows += "<td width=\"90px\"><input type=\"button\" value=\"Delete\" id=\"btnDelete" + i + "\" onclick=\"deleteAttachments(" + proof["ID"] + "," + hiddenField + ");\" class=\"btn\"/></td></tr>"; 
      } 
      rows += "</table>"; 
      if(after){ 
       selector.after(rows); 
      }else{ 
       selector.html(rows); 
      }  
     } 

請找到listAttachments函數調用(我使用asp.net和嘗試不同的方法)

listAttachments(visualIds,$('#tblProofs'),$('#hidDeletedAttachments'),true) 

listAttachments(visualIds,$('#tblProofs'),$('#' + <%= hidDeletedAttachments.ID%>'),true) 

當這被呈現時deleteAttachments函數接受參數作爲一個對象(如下圖所示)。

我的問題是我如何將選擇器傳遞給函數,並在調用函數中使用它。

enter image description here

+0

Usualy我傳遞給功能選擇器的 'id' 的對象,使 '選擇' 內部功能。嘗試傳遞函數的參數,並使選擇器內函數(取決於該參數)。 – zchpit

回答

2

您還沒有經過選擇,要傳遞的選擇器匹配的元素的集合。

不是將hiddenField傳遞給listAttachments,而是傳遞hiddenField id。

listAttachments(visualIds,$('#tblProofs'), 'hidDeletedAttachments'),true) 

然後創建在deleteAttachment功能

function deleteAttachments(id,hiddenFieldId){ 
     var selector = $('#' + hiddenFieldId); 
     $('#proof' + id).remove(); 
     //show warning about save 
     var tmp = selector.val(); 
     var sep = ""; 
     if (tmp != "") 
      sep = ","; 
     selector.val(tmp + sep + id); 
    }  
相關問題