javascript
  • c#
  • html
  • .net
  • ajax
  • 2017-05-06 37 views 1 likes 
    1

    我aspx.cs代碼HTML表格數據值:如何動態地獲取JavaScript

    string studentid = dr["StudentId"].ToString(); 
         string studentname = dr["studentName"].ToString(); 
         Response.Write("<tr id = 'studentid' onclick = 'passValuesToInput(this)' >"); 
         Response.Write("<td id = 'sid' >"); 
         Response.Write(studentid); 
         Response.Write("</td>"); 
         Response.Write("<td>"); 
         Response.Write(studentname); 
         Response.Write("</td>"); 
         Response.Write("<td>"); 
         Response.Write("<img src = 'Edit-icon.png' height='20' width='20' >"); 
         Response.Write("</td>"); 
         Response.Write("<td>"); 
         Response.Write("<img src = 'ic_delete_48px-128.png' height='20' width='20'>"); 
         Response.Write("</td>"); 
         Response.Write("</tr>"); 
        } 
    

    JavaScript函數代碼:

    function passValuesToInput(x){ 
    alert(x.innerHTML); 
    document.getElementById("tbId").value = document.getElementById("sid").innerHTML; 
    document.getElementById("tbId").readOnly = true; 
    } 
    

    無論是我點擊了排,它僅使第一排第一個元素爲文本框,其id = tbId。 幫我提出建議。 我想要將行的第一個單元格傳遞給文本框,只要使用點擊編輯或刪除圖像。

    +0

    * ID *應該是唯一的。所以使用class =「sid」,您需要獲取當前點擊的行單元格,而不是獲取值表單* id *。 x.cells [0] .innerHTML; – JYoThI

    +0

    Mohith你很舒服,而不是使用jQuery而不是JavaScript? –

    +0

    不,只允許JavaScript/Ajax。 @AbhishekMaurya –

    回答

    0

    的document.getElementById(「SID」)總是返回你的innerHTML第一個單元格,因爲ID應該是每個元素唯一的,因此會的getElementById挑選具有ID的第一要素。 如果您SID總是將成爲第一個單元格,那麼你可以試試下面的代碼:

    function passValuesToInput(x){ 
    alert(x.innerHTML); 
    document.getElementById("tbId").value = x.cells[0].innerHTML; 
    document.getElementById("tbId").readOnly = true; 
    } 
    
    +0

    工作。 :)我知道爲什麼它總是返回拳頭行的價值,但無法解決它。謝謝 –

    +0

    我的榮幸.. :) –

    0

    你應該嘗試通過唯一的ID爲行,否則它將始終第一個。你可以嘗試這樣的事情:

    string studentid = dr["StudentId"].ToString(); 
        string studentname = dr["studentName"].ToString(); 
        Response.Write(String.Format("<tr id = '{0}' onclick = 'passValuesToInput({0})' >",studentid)); 
        Response.Write("<td id = 'sid' >"); 
        Response.Write(studentid); 
        Response.Write("</td>"); 
        Response.Write("<td>"); 
        Response.Write(studentname); 
        Response.Write("</td>"); 
        Response.Write("<td>"); 
        Response.Write("<img src = 'Edit-icon.png' height='20' width='20' >"); 
        Response.Write("</td>"); 
        Response.Write("<td>"); 
        Response.Write("<img src = 'ic_delete_48px-128.png' height='20' width='20'>"); 
        Response.Write("</td>"); 
        Response.Write("</tr>"); 
    } 
    

    然後JavaScript可以寫成:

    function passValuesToInput(x){ 
    var elm = {}; 
    var elms = document.getElementById(x).getElementsByTagName("*"); 
    for (var i = 0; i < elms.length; i++) { 
        if (elms[i].id === 'sid') { 
         elm = elms[i]; 
         break; 
        } 
    } 
    document.getElementById("tbId").value = elm.value; //or use elm.innerHtml 
    document.getElementById("tbId").readOnly = true;  
    } 
    
    相關問題