Как изменить значение undefined на пустое в sharepoint - PullRequest
0 голосов
/ 28 августа 2018

У меня есть веб-страница, которая отображает данные из списка sharepoint в табличном формате. Это мой код.

function getMyListData()
{
var method = "GetListItems";                 
    var webURL =  $().SPServices.SPGetCurrentSite() ;                     
    var list = "ITASList";                      
    var fieldsToRead = "<ViewFields>"+"<FieldRef Name='Name' />" +"</ViewFields>";
    var query = "<Query><Where><Eq><FieldRef Name='Subdomain' /><Value Type='Text'>Application Development</Value></Eq></IsNotNull></Where><OrderBy><FieldRef Name='ID'  Ascending='True' /></OrderBy></Query>"; 

$().SPServices
({
      operation: method,
      async: false, 
      webURL: webURL,
      listName: list,
      CAMLViewFields: "<ViewFields Properties='True' />",
      CAMLQuery: query,                                                                                     
      completefunc: function (xData, Status)
      {
        $(xData.responseXML).SPFilterNode("z:row").each(function()
           {
            var Subdomain = $(this).attr("ows_Subdomain");
            var Product = $(this).attr("ows_Product");
            var Ver =  $(this).attr("ows_Ver");
            var EOS =  $(this).attr("ows_EOS");
            var EOL =  $(this).attr("ows_EOL");
            var SunsetYear =  $(this).attr("ows_SunsetYear");
            var Year18 =  $(this).attr("ows_Year18");

            $("#myHTMLTable").append("<tr align='middle'>" +

            "<td align='left'>"+Subdomain+"</td>" +
            "<td align='left'>"+Product+"</td>" +
            "<td align='left'>"+Ver+"</td>"  +                                         
            "<td align='left'>"+EOS+"</td>" +
            "<td align='left'>"+EOL+"</td>" +
            "<td align='left'>"+SunsetYear+"</td>" +
            "<td align='left'>"+Year18+"</td>" +
            "</tr>");
            });
        }
   });
   };

Проблема в том, что если в списке нет данных, моя веб-страница отобразит их как неопределенные. Как изменить это неопределенное на пустое, когда оно отображается на веб-странице?

1 Ответ

0 голосов
/ 28 августа 2018

Для этой проверки можно использовать сокращенный троичный оператор.

Итак, измените ваш код, как показано ниже:

$(xData.responseXML).SPFilterNode("z:row").each(function()
{
var Subdomain = $(this).attr("ows_Subdomain") ? $(this).attr("ows_Subdomain") : "";
var Product = $(this).attr("ows_Product") ? $(this).attr("ows_Product") : "";
var Ver =  $(this).attr("ows_Ver") ? $(this).attr("ows_Ver") : "";
var EOS =  $(this).attr("ows_EOS") ? $(this).attr("ows_EOS") : "";
var EOL =  $(this).attr("ows_EOL") ? $(this).attr("ows_EOL") : "";
var SunsetYear =  $(this).attr("ows_SunsetYear") ? $(this).attr("ows_SunsetYear") : "";
var Year18 =  $(this).attr("ows_Year18") : $(this).attr("ows_Year18") : "";

// rest of your existing code

По сути, этот код делает то, что он проверяет, имеет ли текущий столбец значение, использует ли он это значение, иначе присваивает переменной пустую строку, что-то вроде:

var Subdomain;
if($(this).attr("ows_Subdomain") != undefined){
    Subdomain = $(this).attr("ows_Subdomain")
}else{
    Subdomain = "" ; // this is empty string
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...