在此示例中,如何使用AJAX动态更改范围文本?

时间:2013-02-06 17:31:42

标签: javascript jquery ajax

LOGIC DEMO (jsFiddle): Click Here!

上面链接的演示是我想要实现的结果。但是,我需要翻译它以从XML变量 asize &中动态填充此内容。 aprice 。下面是我用于使用AJAX级联下拉列表的当前方法。

XML DATA:

<avar aval="1" asize="Small Flag" aprice="$26.00" atext="Size 0"/>

JS DATA:

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')));
        });
    }
  }); 
}

LOGIC(非功能性):

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');
        });
    }
  }); 
}

1 个答案:

答案 0 :(得分:0)

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

var xmlDoc = $.parseXML(xml);
$(xmlDoc).find(...