0
私はオートコンプリートXMLデータ解析の問題に取り組んでいます。autocomplete(external xml data)は、属性を別々のフィールドに分割します。
ユーザーが検索クエリとして「ラベル」を使用して検索すると、各要素の属性が分割されるようにしようとしています。
たとえば、 "Dubrovnik"が検索され、オプションが選択されます。 選択された選択項目内の属性は分割され、フォームに入力されます。
Javascript 注:tjq = jQuery.noConflict();
tjq(function() {
var myArr = [];
tjq.ajax({
type: "GET",
url: "http://www.thetravelosophy.co.uk/images/www.thetravelosophy.co.uk/1/js/Destinations1.xml",
dataType: "xml",
success: parseXml,
complete: setupAC,
failure: function(data) {
alert("XML File could not be found");
}
});
function parseXml(xml)
{
//find every query value
tjq(xml).find("state").each(function()
{
myArr.push(tjq(this).value("label","country","resort","destair"));
});
};
function setupAC()
{tjq("#country1").autocomplete({
source: myArr,
minLength: 3,
select: function(event, ui) {
event.preventDefault();
tjq('#country1').val(ui.item.label);
this.value = ui.item.label;
tjq('#country').val(ui.item.country);
tjq("#country").change();
tjq('#resort').val(ui.item.resort);
tjq('#destair').val(ui.item.destair);
tjq("#destair").change();
}
});}
次のようにXMLデータがある:
<states>
<state label="Dubrovnik Region, Croatia" country="Croatia" resort="" destair="DBV"/>
<state label="Dubrovnik Region, Croatia" country="Croatia" resort="" destair="DBV"/>
<state label="Split Region, Croatia" country="Croatia" resort="" destair="SPU"/>
<state label="Split, Croatia" country="Croatia" resort="1723" destair="SPU"/>
</states>
JSfiddle:
myArr.push(tjq(this).value("label","country","resort","destair"));
から値を読み取ることができません:https://jsfiddle.net/ftro7bqd/
こんにちは@ v.coder、ありがとうございました。私はこのコードをテストのために配置しましたが、結果を引き出すつもりはありません。 私は、おそらくオートコンプリートのコードをさらに見落としていますか?再度、感謝します。 –
私はjsfiddleを作成しました。 https://jsfiddle.net/ftro7bqd/ –
コードにjquery-uiライブラリを追加しました –