【发布时间】:2015-06-02 20:57:14
【问题描述】:
我有一个包含我所有数据的 XML 文件,我需要从这个 XML 文件数据中填充文本字段。还有一个下拉菜单,其中包含可以选择的 XML 中每个主要部分的名称。例如,如果有人在下拉列表中选择“M-A L”,它应该使用 XML 部分中的数据填充 HTML 文件中的文本字段。并且每个文本字段都应该与 XML 中的数据相关联。
这是我的 html 代码:
<select id="Bname">
<option value="">Please Select</option>
<option value="M-A">M-A L</option>
<option value="AP">Alain P</option>
</select>
<input type="text" id="name">
<input type="text" id="title">
<input type="text" id="line1">
这是我的 jQuery 代码:
<script type="text/javascript">
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "signatures.xml",
dataType: "xml",
success: parseXml
}); });
function parseXml(xml)
{
$(xml).find("Signature").each(function()
{
$("#name").val($(this).find("Nom").text);
$("#title").val($(this).find("PG-Ligne1").text);
$("#line1").val($(this).find("PG-Ligne2").text);
});
}
</script>
还有我的 XML 文件:
<?xml version="1.0" encoding="utf-8" ?>
<SignaturesNovatech>
<Signature name="M-A L">
<Nom>asd</Nom>
<PG-Ligne1>Representative</PG-Ligne1>
<PG-Ligne2>Cleaner</PG-Ligne2>
<PG-Ligne3>3223 Metro street</PG-Ligne3>
<PG-Ligne4>1-438-234-4453</PG-Ligne4>
<PD-Ligne1>www.website.com</PD-Ligne1>
<PD-Ligne2>mal@website.com</PD-Ligne2>
<PD-Ligne3>City here</PD-Ligne3>
<PD-Ligne4>Postal code</PD-Ligne4>
<PD-Ligne5>Services available</PD-Ligne5>
<PD-Ligne6>Graphic</PD-Ligne6>
</Signature>
<Signature name="Alain P">
<Nom>asd</Nom>
<PG-Ligne1>Representative</PG-Ligne1>
<PG-Ligne2>Cleaner</PG-Ligne2>
<PG-Ligne3>3223 Metro street</PG-Ligne3>
<PG-Ligne4>1-438-234-4453</PG-Ligne4>
<PD-Ligne1>www.website.com</PD-Ligne1>
<PD-Ligne2>mal@website.com</PD-Ligne2>
<PD-Ligne3>City here</PD-Ligne3>
<PD-Ligne4>Postal code</PD-Ligne4>
<PD-Ligne5>Services available</PD-Ligne5>
<PD-Ligne6>None</PD-Ligne6>
</Signature>
</SignaturesNovatech>
我知道“onchange”下拉项的内容缺少部分。下拉菜单中的选项应该是文本......它应该扫描 XML 文件以检测那里是否有新条目。
我是 XML 和 jQuery 解析的新手。非常感谢
【问题讨论】:
-
$(this).find("PG-Ligne1").text;-> 你错过了()==>$(this).find("PG-Ligne1").text(); -
非常感谢 LShetty!现在数据在字段中正确显示。现在我唯一需要弄清楚的是如何使下拉菜单选项采用 XML 的每个
部分的名称属性来创建一个选项。因此,在我现在的代码中,下拉菜单中的 2 个选项将是“M-A L”和“Alain P”。此外,当我选择其中一个(例如 Alain P)时,我需要它去解析“Alain P”签名部分并根据每个字段的 ID 返回文本字段中的值......这应该发生“onchange”。再次非常感谢
标签: javascript jquery html xml