У меня есть 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'));
}
}
«Наименование» является существующее поле в таблице, на которой я бегу query, это текстовое поле, а переменная partName содержит строку, которая включена в это поле в таблицу.
Однако запрос возвращает последний элемент в таблице вместо этого (один из первых элементов, а не тот, который имеет значение).
Я пробовал удалить последний элемент, чтобы узнать, есть ли что-то конкретное в этом, но это произошло снова с новым последним элементом.
Я новичок в caml, поэтому не знаю, с чем это происходит.
Любая помощь будет оценена по достоинству.
UPDATE:
Я думаю, что я нашел эту проблему. Когда я запускал предупреждение (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. Будет ли этот запрос не делать этого? – Ulthran