2013-12-15 18 views
5

Tôi đang làm việc trên SharePoint 2010 với spservices, datatable, jeditable và datatable.editable. phiên bản của tôi về các khuôn khổ như saucó thể chỉnh sửa có thể chỉnh sửa đang gặp vấn đề với IE

  1. IE 9, 10, 11
  2. jQuery 1.7.2
  3. spservices 2013,01
  4. DataTable 1.9.4
  5. DataTable có thể chỉnh sửa 2.3.3
  6. jedittable N/A

Vấn đề hiện tại là chỉnh sửa datatabale hoạt động tốt trong FireFox và Chrome bu t nó không hoạt động trong IE khi tôi làm mờ từ phần tử nó không biến mất.

Mã của tôi là như sau

<link rel="stylesheet" type="text/css" href="/sites/MS/Style%20Library/en-us/CSS/forms-simple.css"/> 

    <script type="text/javascript" src="/sites/ms/Style%20Library/en-us/JS/jquery.min.js"></script> 
    <script type="text/javascript" src="/sites/ms/Style%20Library/en-us/JS/jquery.SPServices-2013.01.min.js"></script> 
<script type="text/javascript" src="/sites/ms/Style%20Library/MarketSurveillance.js"></script> 
    <script type="text/javascript" src="/sites/MS/Style%20Library/ar-sa/JS/jquery.dataTables.min.js"></script> 
<script type="text/javascript" src="/sites/MS/Style%20Library/en-us/JS/jquery.jeditable.mini.js"></script> 
<script type="text/javascript" src="/sites/MS/Style%20Library/en-us/JS/jquery.dataTables.editable.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
var oTable, anOpen = [], sImageUrl = "/sites/MS/Style%20Library/Images/", sInner; 
var viewFields = "<FieldRef Name='ID' /><FieldRef Name='Title' /><FieldRef Name='TelephoneNo' /><FieldRef Name='PlaceOfProduct' />"; 
viewFields += "<FieldRef Name='CategoryID' /><FieldRef Name='SubCategoryID' /><FieldRef Name='Status' />"; 
populateGrid("/sites/ms/", "ComplaintForm", viewFields, "", handleData); 

oTable = $("#tbComplaintForm").dataTable({ 
    "bProcessing": true, 
    "aoColumns": [ 
    { 
     "bSortable": false, 
     "mDataProp": null, 
     "mData": null, 
     "sClass": "control center", 
     "sDefaultContent": '<img src="' + sImageUrl + 'details_open.png">' 
    }, 
    null , 
    null , 
    null , 
    null , 
    null , 
    null 
    ] 
}); 

oTable.makeEditable({ 
    "aoColumns": [ 
    null, null, null, null, null, null, 
    { 
     "sName": "Status", 
     "indicator": "Approve/Reject Complaint Status", 
     "tooltip": "Approve/Reject", 
     "loadtext": "loading...", 
     "type": "select", 
     "onblur": "submit", 
     "data": "{'0':' ', '3':'Approved','4':'Rejected'}", 
     "sUpdateURL": function (value, settings) { 
     var columnId = oTable.fnGetPosition(this)[2]; 
     var dataArray = []; 
     dataArray.push([oTable.fnSettings().aoColumns[columnId].sTitle, value]); 
     itemOperation("/sites/ms/", "ComplaintForm", "Update", dataArray, $(this).closest('tr').attr('id')); 
     return value; 
     } 
    } 
    ], 
    "oEditableSettings": { event: 'click' } 
}); 

$('#tbComplaintForm td.control').live('click', function() { 
    var nTr = this.parentNode; 
    var i = $.inArray(nTr, anOpen); 

    if (i === -1) { 
    $('img', this).attr('src', sImageUrl + "details_close.png"); 
    var nDetailsRow = oTable.fnOpen(nTr, fnFormatDetails(oTable, nTr), 'details'); 
    $('div.innerDetails', nDetailsRow).slideDown(); 
    anOpen.push(nTr); 
    } 
    else { 
    $('img', this).attr('src', sImageUrl + "details_open.png"); 
    $('div.innerDetails', $(nTr).next()[0]).slideUp(function() { 
     oTable.fnClose(nTr); 
     anOpen.splice(i, 1); 
    }); 
    } 
    }); 
}); 

    function fnFormatDetails(oTable, nTr) { 
var oData = oTable.fnGetData(nTr); 
var _viewFields = "<FieldRef Name='Comments' /><FieldRef Name='Suggestions' />"; 
var qry = "<Query><Where><Eq><FieldRef Name=\"ID\" /><Value Type=\"Counter\">" + $(nTr).attr('id') + "</Value></Eq></Where></Query>"; 
populateGrid("/sites/ms/", "ComplaintForm", _viewFields, qry, innerData); 
var sOut = sInner; 
return sOut; 
} 

    function innerData(xData, Status) { 
sInner = ""; 
sInner += '<div class="innerDetails"><table cellpadding="7" cellspacing="0" border="0" style="padding-left:75px;">'; 
if (Status == "success") { 
    $(xData.responseXML).SPFilterNode("z:row").each(function() { 
    sInner += '<tr><td>Comment:</td><td>' + $(this).attr("ows_Comments") + '</td></tr>'; 
    sInner += '<tr><td>Suggestions:</td><td>' + $(this).attr("ows_Suggestions") + '</td></tr>'; 
    }); 
} 
sInner += '</table></div>'; 
} 

    function handleData(xData, Status) { 
var datarows = "<tbody>"; 
var query = ""; 
if (Status == "success") { 
    $(xData.responseXML).SPFilterNode("z:row").each(function() { 
    datarows += "<tr id=" + $(this).attr("ows_ID") + "><td class='read_only'></td><td>" + $(this).attr("ows_Title") + "</td>"; 
    datarows += "<td>" + $(this).attr("ows_TelephoneNo") + "</td>"; 
    query = "<Query><Where><Eq><FieldRef Name=\"ID\" /><Value Type=\"Text\">" + $(this).attr("ows_CategoryID").replace(".00000000000000", "") + "</Value></Eq></Where></Query>"; 
    datarows += "<td>" + getSingleItem("http://sp2010-base", "SAS_Categories", "Category_Title_EN", query) + "</td>"; 
    query = "<Query><Where><Eq><FieldRef Name=\"ID\" /><Value Type=\"Text\">" + $(this).attr("ows_SubCategoryID").replace(".00000000000000", "") + "</Value></Eq></Where></Query>"; 
    datarows += "<td>" + getSingleItem("http://sp2010-base", "SAS_SubCategories", "Sub_Category_Title_EN", query) + "</td>"; 
    datarows += "<td>" + $(this).attr("ows_PlaceOfProduct") + "</td>"; 
    if ($(this).attr("ows_Status") == 0) 
     datarows += "<td></td></tr>"; 
    else if ($(this).attr("ows_Status") == 1) 
     datarows += "<td>In Plane</td></tr>"; 
    else if ($(this).attr("ows_Status") == 2) 
     datarows += "<td>Checked</td></tr>"; 
    else if ($(this).attr("ows_Status") == 3) 
     datarows += "<td>Approved</td></tr>"; 
    else if ($(this).attr("ows_Status") == 4) 
     datarows += "<td>Rejected</td></tr>"; 
    }); 
    datarows += "</tbody>"; 
    $("#tbComplaintForm").append(datarows); 
} 
} 

Tên Khiếu Nại điện thoại số Thể loại Agriculture Nơi Sản phẩm Status

Vì vậy, điều có thể xảy ra với IE

+0

phiên bản IE bạn đang sử dụng? – hanskishore

+0

Vui lòng kiểm tra câu trả lời của tôi đã được chỉnh sửa. – Milind

+0

@Milind bạn có thể tạo lại một ví dụ nhỏ trong JSFiddle không? – Danny

Trả lời

0

Đây có thể không phải là câu trả lời bạn cần, nhưng theo nhận xét cuối cùng của bạn, Dường như bạn có mã hoạt động thành công khi trình gỡ lỗi JavaScript của IE đang chạy nhưng không bình thường. Điều này có thể là do bất kỳ console.log hoặc các loại "mã js trình gỡ rối chỉ". Đây là câu trả lời có thể cho vấn đề của bạn: My application works in IE only in debug mode (works in other browsers)

Các vấn đề liên quan