jQueryを使用してXMLを操作しようとしています。Question
特に、タグの値をグループ化して、ヘッダーとしてGroupName
のjQueryアコーディオンと、コンテンツとしての質問を作成できるようにしたいと思います。GroupName
GroupName
XML:
<?xml version="1.0"?>
<GenericFormData>
<UserQuestions>
<UserQuestion>
<BoxID>Box_1_6</BoxID>
<Question>Refund requested?</Question>
<FieldType>3</FieldType>
<GroupName/>
</UserQuestion>
<UserQuestion>
<BoxID>Box_1_7</BoxID>
<Question>Would you like to receive forms?</Question>
<FieldType>3</FieldType>
<GroupName/>
</UserQuestion>
<UserQuestion>
<BoxID>Box_2_14</BoxID>
<Question>Listing nihil?</Question>
<FieldType>3</FieldType>
<GroupName>VIII</GroupName>
</UserQuestion>
<UserQuestion>
<BoxID>Box_2_15</BoxID>
<Question>Creation date</Question>
<FieldType>2</FieldType>
<GroupName>Date and signature</GroupName>
</UserQuestion>
<UserQuestion>
<BoxID>Box_2_16</BoxID>
<Question>Name of the person signing</Question>
<FieldType>0</FieldType>
<GroupName>Date and signature</GroupName>
</UserQuestion>
<UserQuestion>
<BoxID>Box_2_17</BoxID>
<Question>function of the person signing</Question>
<FieldType>0</FieldType>
<GroupName>Date and signature</GroupName>
</UserQuestion>
<UserQuestion>
<BoxID>Box_2_18</BoxID>
<Question>Phone number of the person signing</Question>
<FieldType>0</FieldType>
<GroupName>Date and signature</GroupName>
</UserQuestion>
<UserQuestion>
<BoxID>Box99</BoxID>
<Question>Liability</Question>
<FieldType>1</FieldType>
<GroupName>VII</GroupName>
</UserQuestion>
</UserQuestions>
</GenericFormData>
jQuery:
$(xmlDoc).find('GroupName').filter(function () {
return $(this).text() === groupnames[i].toString();
}).parents().find('UserQuestion').each(function () {
//logic to display `Question` goes here
});
しかし、それは本来のようには機能しません。私は繰り返し処理してgroupnames
います(必要に応じて一意の値が含まれています)が、each()
メソッドの結果が多すぎます。誰かが私が間違っているのを見ますか?とても有難い。