我有一個CamlQuery我設置如下:CAML查詢返回最後一項列表
function getPartID(partName) {
var clientContext = new SP.ClientContext('/sites/HepatoChemKitCustomizationForms/');
var oList = clientContext.get_web().get_lists().getByTitle('PartsTable');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<View><Query><Where><Eq><FieldRef Name="Part_x0020_Name" /><Value Type="Text">' + partName + '</Value></Eq></Where></Query></View>');
this.collListItem = oList.getItems(camlQuery);
clientContext.load(collListItem);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onPartQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
function onPartQuerySucceeded(sender, args) {
var listItemEnumerator = collListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
partID = (oListItem.get_item('Part_x0020_ID'));
}
}
「零件名稱」是表中的現有字段上我運行查詢,它是一個文本字段,並且變量partName包含一個字符串,該字符串包含在此表中的此字段中。
但是,查詢返回表中的最後一個項目,而不是這個(最初的項目之一,不重要)。
我試過刪除最後一項,看看是否有關於那個的具體內容,但它又發生在新的最後一項。
我是新來的caml,所以我不知道這是怎麼回事。
任何幫助,將不勝感激。
更新:
我想我發現了這個問題。當我跑alert(partName +「」+ oListItem.get_item('Part_x0020_Name'));它顯示了這一點:
我不知道爲什麼字符串被用回車建雖然。我用下面的代碼來構建字符串:
(catalystArray[i] + "/" + baseArray[j]);
如果從catalystArray對象確實有上漲到它回車,我會怎麼去除呢?
更新:
解決了它。愚蠢的錯誤,但我花了整整一天才發現。
catalystArray[i].replace(/[\n\r]+/g, '');
baseArray[i].replace(/[\n\r]+/g, '');
(catalystArray[i] + "/" + baseArray[j]);
當我在它添加它返回一個空字符串。 – Ulthran
你提供的代碼片段看起來並不像它返回任何東西......你能編輯你的問題來包含你的完整代碼嗎? – Thriggle
這個想法是讓查詢返回具有與partName變量匹配的Part Name的記錄。這個查詢不會那麼做嗎? – Ulthran