2014-04-17 3 views
1

Я получаю «объект не поддерживает этот метод» ошибку на этой функции, когда функция вызываетсяSP Services - Объект не поддерживает этот метод

function LoadCat(cat) { 

     if (cat != null) { 
      var liHtml = "Category: <select name=\"categoryselect\" id=\"categoryselect\">"; 
     var CAML = '<Query><Where><Eq><FieldRef Name="Department" /><Value Type="Text">' + cat + '</Value></Eq></Where></Query>'; 
     alert(CAML); 
     } else { 
     alert(cat); 
     var CAML = ''; 
     } 




     $().SPServices({ 
     operation: "GetListItems", 
     async: false, 
     webURL: "http://sp-app", 
     listName: "Categories", 
     CAMLViewFields: "<ViewFields><FieldRef Name='Title' /></ViewFields>", 
     CAMLQuery: CAML, 
     completefunc: function (xData, Status) { 
      $(xData.responseXML).SPFilterNode("z:row").each(function() { 
       liHtml = liHtml + "<option value=''>" + $(this).attr("ows_Title") + "</option>"; 

      }); 
      liHtml = liHtml + "</select>"; 
      $("#cat").html(liHtml); 
     } 

    }); 
    } 

ошибка приходит на $ () .SPServices ({линия

это происходит, когда кошка является нулевым или имеет значение.

Been чесать голову над этим в течение нескольких часов!

SharePoint Services загружается перед фу nction называется!

кажется ошибка возникает только когда я вызываю его на этой функции:

$(".area").click(function() { 


     $(".area").parent("li").removeClass("active"); 
     $(this).parent("li").addClass("active"); 

     LoadCat(); 

    }); 

ответ

0
function LoadCat(cat) { 
if (cat != null) { 
     var liHtml = "Category: <select name=\"categoryselect\" id=\"categoryselect\">"; 
    var CAML = '<Query><Where><Eq><FieldRef Name="Department" /><Value Type="Text">' + cat + '</Value></Eq></Where></Query>'; 
    alert(CAML); 
    } else { 
    alert(cat); 
    var CAML = ''; 
    } 

    $().SPServices({ 
    operation: "GetListItems", 
    async: false, 
    webURL: "http://sp-app", 
    listName: "Categories", 
    CAMLViewFields: "<ViewFields><FieldRef Name='Title' /></ViewFields>", 
    CAMLQuery: CAML, 
    completefunc: function (xData, Status) { 
     $(xData.responseXML).SPFilterNode("z:row").each(function() { 
      liHtml = liHtml + "<option value=''>" + $(this).attr("ows_Title") + "</option>"; 

     }); 
     liHtml = liHtml + "</select>"; 
     $("#cat").html(liHtml); 
    } 

});} 
$(document).ready(function() { 
    var subject = "Hi Subject!"; 
    var message = "Hi Message!"; 
    LoadCat(subject);   
}); 

Посмотрите на консоли JavaScript в вашем браузере, то вы можете найти полезные ошибки. Должны быть загружены jQuery и SPServices. Для ваших тестов вы даже можете использовать ссылки cdn для jQuery и SPServices.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery.SPServices/0.7.1a/jquery.SPServices-0.7.1a.min.js"></script> 
Смежные вопросы