2012-07-26 158 views
0

我需要一個單選按鈕來更改下拉菜單,並且如果它工作的最多,只是不確定幾件事情。我想將CreativeID作爲ID和CreativeName作爲名稱。這裏是我的AJAX:jQuery通過AJAX更改下拉菜單

$('input[name=creativeType]').change(function(){ 
     $.ajax({ 
      url: '/app/components/MailingsReport.cfc', 
      //POST method is used 
      type: "POST", 
      //pass the data 
      data: { 
       method: "getCreative", 
       CreativeType: $('input[name=creativeType]:checked').val(), 
       datasource: "shopping_cart" 
       }, 
      dataType: "xml", 
      //contentType: "application/text; charset=utf-8", 
      success: function(xml){ 
       $('#creative option').remove(); 
        $(xml).find('number').each(function() 
        { 

$("#creative").append('<option value="' + $(this).text() + '">' + $(this).find('CREATIVENAME').text() + '<\/option>'); 

        });     
      } 
     }); 

這裏是我的返回數據:

<wddxPacket version='1.0'><header/><data><recordset rowCount='3' fieldNames='CREATIVEID,CREATIVENAME' type='coldfusion.sql.QueryTable'><field name='CREATIVEID'><number>52.0</number><number>65.0</number><number>77.0</number></field><field name='CREATIVENAME'><string>Product One</string><string>Product Two</string><string>Product Three</string></field></recordset></data></wddxPacket> 

我的問題:我只是不知道如何填充下拉所以ID是價值和產品名稱顯示選項之間標籤。 任何幫助,將不勝感激!

回答

2
var numbers = $(xml).find('number'); 
var strings = $(xml).find('string'); 
for (var i = 0; i < numbers.length; i++) { 
    $("#creative").append('<option value="' + numbers[i].innerHTML + '">' + strings[i].innerHTML + '<\/option>'); 
} 
+0

Thanks @Davuth - 我得到正確的行數,但值和字符串說'未定義'任何想法爲什麼? – user1431633 2012-07-26 01:01:36

+0

嗯..我直接使用xml而不使用ajax,並且它顯示正確的值。嗯..好吧,你如何嘗試'console.log(數字)'或'console.log(字符串)'並且看到它們在Firebug中的值?您將看到一組元素。只需選擇一個元素並通過其屬性查看哪個屬性具有您想要的值。希望我不會讓你困惑。 – Davuth 2012-07-26 01:14:29

+0

這是我的代碼,但Firebug是說:的ReferenceError:數字沒有定義 成功:功能(XML){ \t \t \t \t $( '#創意選項')刪除(); \t \t \t \t var numbers = $(xml).find('number'); \t \t \t \t var strings = $(xml).find('string'); \t \t \t \t爲(VAR I = 0; I '+ strings [i] .innerHTML +'<\/option>'); \t \t \t \t} } – user1431633 2012-07-26 01:20:33