2016-04-11 17 views
2

Ich habe ein jquery datatable, in der ersten coloumn ist checkboxes .In der Anwendung während der Bearbeitung, ich brauche wie die ausgewählten Elemente angezeigt werden thier checkbox geprüft .Ich bin immer die Daten aus ajax response .Data Binding funktioniert einwandfrei, aber das checked Attribut ist nicht.Checkbox geprüft Eigenschaft funktioniert nicht in JQUERY Datatable Spalte

hier ist mein Code:

custAct.success = function (status) { 
     try { 
       var response = JSON.parse(status); 
       activityCust.clear().draw(); 

    for (var i = 0; i < response.length - 1 ; i++) 
     { 
activityCust.row.add({ 0: '<input class="checkboxCust" checked=' + response[i].IsSelected + ' value="' + response[i].ID + '" data-id="' + response[i].ID + '" type="checkbox" />', 1: response[i].Name, 2: response[i].Hours }).draw();  
     } 

catch(ex) 
{ 
} 

Html Code:

<table class="gridTableActivityCust hover"> 
          <thead> 
           <tr> 
            <th>Select</th> 
            <th>Activity Name</th> 
            <th>Hours</th> 
           </tr> 
          </thead> 
          <tbody> 
           @foreach (var item in Model.Activities) 
           { 
            <tr data-id="@item.ActId"> 
             <td> 
              <input class='checkboxCust' disabled="@item.Enabled" checked="@item.IsSelected" value="@item.ActId" data-id="@item.ActId" type='checkbox' /> 
             </td> 
             <td> 
              @item.ActivityName 
             </td> 
             <td> 
              @item.Hours 
             </td> 
            </tr> 
           } 
          </tbody> 
         </table> 

hier ist die json Antwort:

[ 
    { 
    "ID": 1, 
    "Name": "Activity 1", 
    "Description": "nc", 
    "Hours": 2, 
    "Remove": false, 
    "Active": false, 
    "IsSelected": false, 
    "Disabled": true 
    }, 
    { 
    "ID": 2, 
    "Name": "Activity 2", 
    "Description": "lkn", 
    "Hours": 3, 
    "Remove": false, 
    "Active": true, 
    "IsSelected": false, 
    "Disabled": false 
    }, 
    { 
    "ID": 3, 
    "Name": "Activity 3", 
    "Description": "lkk", 
    "Hours": 2, 
    "Remove": false, 
    "Active": false, 
    "IsSelected": false, 
    "Disabled": true 
    }, 
    { 
    "ID": 4, 
    "Name": "Activity 4", 
    "Description": "kjhj", 
    "Hours": 3, 
    "Remove": false, 
    "Active": true, 
    "IsSelected": false, 
    "Disabled": false 
    }, 
    { 
    "ID": 5, 
    "Name": "Activity 5", 
    "Description": "mn", 
    "Hours": 7, 
    "Remove": false, 
    "Active": true, 
    "IsSelected": true, 
    "Disabled": false 
    }, 
    { 
    "ID": 6, 
    "Name": "Activity 6", 
    "Description": "kj", 
    "Hours": 5, 
    "Remove": false, 
    "Active": true, 
    "IsSelected": false, 
    "Disabled": false 
    }, 
    { 
    "ID": 7, 
    "Name": "Activity 7", 
    "Description": "hj", 
    "Hours": 8, 
    "Remove": false, 
    "Active": false, 
    "IsSelected": false, 
    "Disabled": true 
    }, 
    { 
    "ID": 8, 
    "Name": "gdfg", 
    "Description": "dgdfg", 
    "Hours": 4.4, 
    "Remove": false, 
    "Active": true, 
    "IsSelected": false, 
    "Disabled": false 
    } 
] 

In der Antwort nur Aktivität 5 ausgewählt ist. Aber in der Benutzeroberfläche alle check kboxes werden ausgewählt.

Screenshot:

img

In diesem Fall wird nur Aktivität 5 sollten überprüft werden.

+0

Können Sie das Formular teilen. Nimm an, dass der Name der Checkboxen gleich sein könnte. –

+0

@AditShah Ich habe meine Frage aktualisiert. – VVN

+0

@AditShah checkboxes Namen sind gleich. – VVN

Antwort

2

Try this:

activityCust.row.add({ 0: '<input class="checkboxCust" ' + response[i].IsSelected? checked="checked":""+' value="' + response[i].ID + '" data-id="' + response[i].ID + '" type="checkbox" />', 1: response[i].Name, 2: response[i].Hours }).draw(); 

Was Sie im Grunde tut checked=true oder checked=false in Ihrem HTML-Code aus der JSON-Antwort zu schreiben. Der gültige HTML-Code ist checked="checked" für ein markiertes Kontrollkästchen, die nicht aktivierten Kontrollkästchen haben das überprüfte Attribut überhaupt nicht.

+0

Schön ... es funktioniert gut..danke ... – VVN

Verwandte Themen