2016-04-21 40 views
0

我使用的jqGrid和複選框每當我選中複選框行是可編輯的,但我有2個問題:取消選中在保存一行

  1. 編輯複選框仍然選中行之後,但我希望它是在進入輸入和保存該行選中..

  2. 我想點擊一個複選框,在同一時間

這裏是我的代碼

dataGrid.prototype = { 

    display: function() { 
    var self = this; 
    var html = []; 
    var check = 0; 
    var lastSelection; 
    html.push("<table id='" + this.id + "" + "'class='table'>\n</table>"); 
    html.push("<div id='pagger_" + this.id + "'></div>"); 
    $('body').append(html.join("")); 
    $("#" + this.id).jqGrid({ 
     url: "index.jsp", 
     styleUI: 'Bootstrap', 
     ..... 
     loadComplete: function() { 
     $("#" + this.id).on("click", "input[type=checkbox]", function(e) { 
      var $this = $(this); //this is the checkbox 
      var rowid = $this.parents('tr').attr('id'); 
      self.editRow(rowid); 

     }); 
     } 


    }); 
    }, 

    ..... 

    editRow: function(id) { 
    var lastSelection; 
    if (id && id !== lastSelection) { 
     $("#" + this.id).jqGrid('restoreRow', lastSelection); 
     $("#" + this.id).jqGrid('editRow', id, { 
     keys: true, 
     focusField: 1 
     }); 
     lastSelection = id; 
    } 
    } 

}; 
+0

在loadcomplete中,this不是您認爲的那樣。保存一份像你自己一樣的副本,並使用 – mplungjan

回答

0

如果只有(1)複選框,可以保存功能後裝上去一樣$('#your_checkbox').prop('checked',false);。或者如果你有多個複選框,你可以把這樣的東西$('#your_form input').prop('checked',false);

+0

同樣的問題仍然ocuurs –

0

如果您取消選中單個複選框$(「#checkbox_Id」)。attr(「checked」,false),則在保存按鈕中單擊放置。如果要使用多個複選框,請使用複選框類取消全部選中複選框 $(「。checkbox_class」)。attr(「checked」,false)

相關問題