javascript
  • c#
  • jquery
  • html
  • asp.net
  • 2016-03-09 84 views 2 likes 
    2

    我在運行時使用javascript/jquery動態創建我的html複選框。它使用Jquery bootgrid。在代碼中訪問動態創建的html複選框

    isAssigned: function (column, row) { 
            if (row.isAssigned == "True" || row.isAssigned == "true") { 
             return "<input id='chk" + row.id + "' type='checkbox' name='chkMarks' checked='" + row.isAssigned + "' />"; 
            } 
            else { 
             return "<input id='chk" + row.id + "' type='checkbox' name='chkMarks'/>"; 
            } 
           } 
    

    我需要做的就是以某種方式得到我的提交按鈕的值在aspx.cs代碼點擊後面的事件。我不能runat =「服務器」這些控件,因爲直到頁面加載之後纔會添加id。我需要得到身份證,以及他們是真的還是假的。

    我想知道是否有人知道最好的方法來獲取這些值。

    protected void myTester_Click(object sender, EventArgs e) 
        { 
         var values = Request["chkMarks"].ToString(); 
        } 
    

    回答

    1

    你差點沒錢了!您需要使用Request.Form而不是Request。這應該讓你訪問所有的DOM元素。

    var values = Request.Form["chkMarks"].ToString(); 
    

    下面是一些關於它的更多信息:https://msdn.microsoft.com/en-us/library/system.web.httprequest.form(v=vs.110).aspx

    +0

    我能搶基於名稱的東西,但當我通過內容foreach有一些價值觀,他們不是我不認爲的id或檢查值。我得到兩個對象,一個'111,0'裏面,另一個'110,n',所以我檢查相關的id,它不匹配。我想知道這裏是否還有另一個步驟。 –

    0

    Request.Unvalidated [ 「chkMarks」]

    還可以根據什麼這個字段的值是有用的。

    0

    我在最後使用JSON做了一個回傳,所以不是異步的,這對希望某人有用。

    function BuildJSON() { 
         var jsonObj = []; 
         jQuery("input[name='chkMarks']").each(function() { 
          item = {} 
          item["id"] = this.id; 
          item["isAssigned"] = this.checked; 
          jsonObj.push(item); 
         }); 
         var json = JSON.stringify(jsonObj); 
         $('#<%= hiddenMarksID.ClientID %>').val(json); 
        } 
    

    在我後面附着一個事件按鈕,拿起像這樣的JSON代碼...

    protected void btnSubmitMarks_Click(object sender, EventArgs e) 
        { 
         string json = hiddenMarksID.Value; 
         List<ChkMark> chkMark = new JavaScriptSerializer().Deserialize<List<ChkMark>>(json); 
    

    這裏是POCO ...

    public class ChkMark 
    { 
        public string id { get; set; } 
        public bool isAssigned { get; set; } 
    } 
    
    相關問題