У меня возникла настоящая проблема со следующим сценарием, где я пытаюсь сравнить выбранные пользователем входные данные (#texto
div) в AJAX, называемый XML-файлом, и вернуть элемент (price
) в другой div (#divo
). Кажется невозможным сравнить переменную text1
с различными атрибутами XML? Когда я ввожу имя атрибута вместо переменной text1
, он работает. Надеюсь, я достаточно ясен.Анализ xml из ответа JQuery Ajax
Благодарим за помощь!
Первый файл XML:
<priceitem>
<name itemname="Ham Brie"><price>9.00</price></name>
<name itemname="croque monsieur"><price>8.00</price></name>
</priceitem>
Теперь скрипт JQuery:
$(function() {
$("#texto").select(function() {
var text1 = $("#texto").val();
$.ajax({
type: "GET",
url: "price.xml",
dataType: "xml",
success: function(xml) {
parsexml(xml);
}
});
function parsexml(xml) {
$(xml).find('priceitem').each(function() {
var att = $(this).find('name').attr('itemname');
var price = $(this).find('price').text();
if (att == text1) {
$('#divo').append(price);
}
else {
alert('problem!');
}
});
}
});
});
Вы правы на этой части. Однако сценарий не вставляет переменную цену в #divo. и когда я пытаюсь предупредить var att, я получаю undefined ???? – pisanmc
Какой тип элемента '# texto'? Я думаю, может быть, вы запутались в том, что делает функция '' jQuery.select() ') (http://api.jquery.com/select/) и связанное с ней событие ... Вы должны опубликовать соответствующий HTML-код работают. – prodigitalson