2014-09-04 2 views
0

모든 행에 대해 확인란이 추가 된 표가 있습니다. 확인란을 클릭하지 않고 삭제 버튼을 클릭하면 "수행 할 행을 하나 이상 선택하십시오"라고 표시됩니다. 확인란을 클릭하면 같은 메시지가 표시됩니다. 아래의 언급 된 코드에서 해본 해결책과 실수를 찾도록 도와주세요.삭제 기능 jquery에서 id를 전달하는 확인란을 클릭하십시오.

 //Calling Delete function clicking on checkbox 
       $(document).ready(function() { 
    //Grid Function 
    $.ajax(
           { 
            url: "GetCompanyTypeMasterDetails", 
            type: "get", 
            dataType: "json", 
            contentType: "application/json", 
            success: function (data) { 
             $("#grid").igGrid({ 
              autoGenerateColumns: false, 
              primaryKey: "CompanyTypeID", 
              columns: [ 

               { headerText: "Company Type ID", key: "CompanyTypeID", dataType: "Numeric", hidden: true }, 
               { 
                headerText: "", key: "CompanyTypeID", dataType: "Numeric", width: "80", 
                template: '<table><tr><td><input type="image" src="/Images/GridImages/edit.png" onclick = "EditRecords(${CompanyTypeID})" /></td><td><input type="image" src="/Images/GridImages/delete.png" onclick = "DeleteRecords(${CompanyTypeID})" /></td></tr></table>' 
               }, 
               { headerText: "", key:"CompanyTypeID", dataType:"Numeric", width:"50", template: '<input type="checkbox" id="chkID" />'}, 
               { headerText: "Company Type", key: "CompanyTypeName", dataType: "string", width: "600" }, 
               { headerText: "Company Code", key: "Code", dataType: "string", width: "600" }, 


              dataSource: data} 
}); 
       $("#btnDelete").click(function (ID) { 
           var isSelected = $('#chkID').is(':checked'); 
           if (!isSelected) { 
            alert("Please select atleast one row to perform this action"); 
           } 
           else if (isSelected) { 
            DeleteRecords(ID); 
           } 
          }); 
         }); 
       }); 

      //Delete Function 
         function DeleteRecords(ID) { 
          $.ajax(
            { 
             url: "DeleteRecords", 
             type: "post", 
             dataType: "json", 
             data: {CompanyTypeID : ID}, 
             success: function (data) { 
              alert("Are you sure you want to Delete?"); 
              location.reload(); 
             }, 
             error: function (status) { 
              alert(status.responseText); 
             } 
            }); 
         } 
+1

을하고있다 여기에

$("#btnDelete").click(function (ID) { if ($('.chkBox:checked').length == 0) { alert("Please select atleast one row to perform this action"); } else { DeleteRecords(ID); } }); 

을, 다른 ID를 사용하거나 클래스를 사용하십시오. –

+0

어떻게 그리드에 행을 추가하는지 보여주세요. –

+1

정확히 어떤 문제에 대한 해결책을 원하십니까? – Leo

답변

0

$('#chkID')은 id가 chkID 인 요소를 나타냅니다. 나는 당신이 여기있는 문제는 당신이 같은 ID를 가진 여러 개의 체크 박스를 가지고 있다는 것이다.

가능한 해결 방법이 될 수 : 모든 체크 박스에 클래스를 추가하면 ('chkBox'말할 수) : 당신은 버튼과 체크 박스를 삭제 모든 위해 동일한 ID를 사용하는 Fiddle

+0

다운 투표! - 설명해주세요. –

+0

그는 실수를 찾아달라고 요청했습니다. 이것은 실수입니다! –

+0

네 말이 맞아. 질문은 매우 모호합니다. 나는 체크 박스를 체크 할 때 메시지를 표시하고 싶지 않다고 가정했습니다. donwvote 제거 중 ... – Leo

관련 문제