2013-04-25 2 views
0

XML Response:Что не так с моей петлей?

<NewDataSet xmlns=""> 
<Table diffgr:id="Table1" msdata:rowOrder="0"> 
    <Code>106377</Code> 
    <Name>Blackened red snapper</Name> 
    <Category>123</Category> 
    <Yield>4</Yield> 
    <YieldUnit/> 
</Table> 
<Table diffgr:id="Table2" msdata:rowOrder="1"> 
    <Code>303570</Code> 
    <Name>Celery soup</Name> 
    <Category>123</Category> 
    <Yield>1</Yield> 
    <YieldUnit/> 
</Table> 
<Table diffgr:id="Table3" msdata:rowOrder="2"> 
    <Code>303675</Code> 
    <Name>Challah French Toast</Name> 
    <Category>123</Category> 
    <Yield>6</Yield> 
    <YieldUnit/> 
</Table> 
<Table diffgr:id="Table4" msdata:rowOrder="3"> 
    <Code>303681</Code> 
    <Name>Challah french toast</Name> 
    <Category>123</Category> 
    <Yield>4</Yield> 
    <YieldUnit/> 
</NewDataSet> 

HTML коды

<div data-role="output"> 
    <ul id="RecipeList" data-role="listview" data-split-icon="star" data-split-theme="e" data-inset="true"> 
    </ul> 
</div> 

JS коды

var CodeObj = new Array(); 
var NameObj = new Array(); 
var Codeindex = 0; 
var Nameindex = 0; 

$(req.responseText).find('Name').each(function() { 
    NameObj[Nameindex] = $(this).text(); 
    Nameindex += 0; 

    for (var i = 0; i < NameObj.length; i++) { 
     $(this).append(NameObj[i] + "<br/>"); 

     $(req.responseText).find('Code').each(function() { 
      CodeObj[Codeindex] = $(this).text(); 
      Codeindex += 0; 
      for (var a = 0; a < CodeObj.length; a++) { 
       $(this).append(CodeObj[a] + "<br/>"); 
      } 
     }); 

     var $content = $('<li><a href="#"><img src="../../img/album-bb.jpg"><h3>Name: ' + NameObj[i] + '</h3><p>Code: ' + CodeObj[a] + '</p></a><a href="#purchase" data-rel="popup" data-position-to="window" data-transition="pop">Add to favorites</a></li>'); 
     $('#RecipeList').append($content).listview('refresh'); 
    } 
}); 

ListView Выходные

Name : Blackened red snapper 
Code : 106377 
Name : Celery soup 
Code : 106377 
Name : Challah french toast 
Code : 106377 
Name : Challah french toastr 
Code : 106377 

Проблема: Всегда же код. Кто-нибудь может знать, что случилось с моей петлей? Спасибо. Я пробовал много способов. но все-таки может получить право на выход Имя

+0

Может вы 'console.log()' эти: '$ (req.responseText) .find ('Name')' и '$ (req.responseText) .find ('Name'). length' –

+0

Я получаю все Имя ..., когда я вижу журнал, но так как это проблема. я меняю это на Code. а также получить все коды. –

+0

Ваш xml не содержит определения пространства имен для 'diffgr' и' msdata' –

ответ

0

Кажется

Nameindex + = 0; Codeindex + = 0;

не соответствует действительности. Не должно быть Nameindex + = 1?

+0

Ждите ребята. плохо попробуйте..пожалуйста, ждите спасибо :) –

+0

Извините, ребята. Что-то не так: Code now.same code, но отличается от Names сейчас. withour changng мои коды .. –

0

Nameindex += 0 и Codeindex += 0 не являются операционными системами, поэтому они, вероятно, имеют к этому какое-то отношение.

Вместо этого, попробуйте следующее:

$(req.responseText).find("Table").each(function() { 
    var item = $(this), 
     name = item.find("Name").text(), 
     code = item.find("Code").text(); 
    $("#RecipeList").append('<li><a href="#"><img src="...." />' 
     +'<h3>'+name+'</h3>Code: '+code+'</a>.....'); 
}); 
+0

Ждите парней. плохой пример. Подождите спасибо :) –

+0

Результат каждого списка: –

+0

Имя: [object Object] Код: [object Object] –

1

Проблема с приращением. Заменить:

Nameindex +=0; 
Codeindex +=0; 

С

Nameindex++; 
Codeindex++; 

или

Nameindex +=1; 
Codeindex +=1; 
+1

Ждите ребят. плохо попробуйте..пожалуйста, ждите спасибо :) –

+0

ничего не происходит sir –

+0

Извините, ребята. Что-то не так: Code now.same code, но отличается от Names сейчас. withour changng мои коды .. –

Смежные вопросы