0

逻辑演示(jsFiddle):点击这里!

上面链接的演示是我想要达到的结果。但是,我需要将其翻译为从 XML 变量asizeaprice动态填充此内容。下面是我用于使用 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');
        });
    }
  }); 
}
4

1 回答 1

0

在使用 find 之前,您需要将 xml 解析为可遍历的 xmldoc。

var xmlDoc = $.parseXML(xml);
$(xmlDoc).find(...
于 2013-02-06T17:41:43.793 回答