逻辑演示(jsFiddle):点击这里!
上面链接的演示是我想要达到的结果。但是,我需要将其翻译为从 XML 变量asize和aprice动态填充此内容。下面是我用于使用 AJAX 级联下拉列表的当前方法。
XML 数据:
<avar aval="1" asize="Small Flag" aprice="$26.00" atext="Size 0"/>
JS数据:
if($('#drpType').val() == "1")
{
$.ajax({
type: "GET",
url: "Flags.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('avar').each(function(){
$('#drpSize').append($('<option></option>').val($(this).attr('aval')).html($(this).attr('atext')));
});
}
});
}
逻辑(非功能性):
if($('#drpSize').val() == "1")
{
$.ajax({
type: "GET",
url: "Flags.xml",
dataType: "xml",
success: function(xml) {
// GET XML Value (asize) & print to <span class="ms"> onChange (#drpSize)
// GET XML Value (aprice) & print to <span class="mp"> onChange (#drpSize)
$('#drpSize').change(function (){
$(xml).find('aval').each(function(){
if ($(this).val() == "1") {
$('.ms').text('asize');
$('.mp').text('aprice');
});
}
});
}