2013-12-15 2 views
5

Я работаю над SharePoint 2010 с spservices, datatable, jeditable и datatable.editable. Моя версия рамок являютсяdatatable editable имеет проблемы с IE

  1. IE 9, 10, 11
  2. JQuery 1.7.2
  3. spservices 2013,01
  4. DataTable 1.9.4
  5. DataTable редактируемые 2.3.3
  6. jedittable N/A

Теперь проблема в редактировании базы данных работает хорошо в FireFox и Chrome bu t он не работает в IE, когда я размываю элемент, он не исчезает.

Мой код выглядит следующим образом

<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); 
} 
} 

Жалоба Имя Номер телефона Категория SubCategory Место продукта Статус

Итак, что может быть проблема с IE

+0

какая версия IE вы используете? – hanskishore

+0

Просьба проверить мой ответ как отредактированный. – Milind

+0

@ Возможно, вам удастся воссоздать небольшой пример в JSFiddle? – Danny

ответ

0

Возможно, это не тот ответ, который вам нужен, но, согласно вашему последнему комментарию, похоже, что у вас есть код, который успешно работает, когда работает отладчик JavaScript IE, но не является нормальным. Это может быть связано с любыми консольными или другими типами «только для кода отладчика js». Ниже приведен возможный ответ на ваш вопрос: My application works in IE only in debug mode (works in other browsers)

Смежные вопросы