2012-03-02 11 views
1

私はこのコードをすべて持っています。 XMLデータへの呼び出しを除くすべてが機能します。どうしてか分かりません。私はそれがセレクターのための疑いがありますが、私は動作すると思うすべてを試しました。.append <select>タグとAJAX呼び出しXML

function addPart() { 
    var pn = document.getElementById("pn").value; 
    $(this.parentNode).prepend("<div id='part" + pn + "' class='show'><select id='pselect" + pn + "'></select></div>"); 
    $("pselect" + pn).append(function(){ 
    $.ajax({ 
     type: "GET", 
     url: "test.xml", 
     dataType: "xml", 
     success: function(xml) { 
     $(xml).find('value').each(function(){ 
      var value = $(this).text(); 
      $("#pselect" + pn).append("<option value='" + value + "'>" + value + "</option>"); 
     }); 
     } 
    }); 
    }); 
    $("#part" + pn).append("<span style='font-weight: bold;'> QTY: </span><input name='QTY' type='text' style='width: 20px;'>&nbsp; &nbsp;<a href='#' onClick='removeItem(\"#part" + pn + "\")'>Remove</a><p> </p>"); 
    pn = (pn - 1) + 2; 
    document.getElementById("pn").value = pn; 
} 

function removePart(id) { 
    $(id).remove(); 
} 

XMLは次のようになります。

<?xml version="1.0" encoding="iso-8859-1" ?> 
<test> 
    <value>Text1</value> 
    <value>Text2</value> 
    <value>Text3</value> 
</test> 
+2

私はそのようなことは存在しませんでした。ありがとう。 – Plummer

+0

#pselectにエラーがありますか、または何も影響していませんか? – r0m4n

+0

XHRリクエストがFirebugから返すものを提供してください。 – Ohgodwhy

答えて

1

あなたが提供されているコードに2つの問題があるように見えます。変数pnは整数と文字列の両方として使用され、混乱を招いていました。また、複写の中でアヤックスが発生しましたか?

 function addPart() { 
      var pn = $("#pn").val(); 
      var textpn=pn; 
      $("pselect + textpn).prepend("<div id='part" + textpn + "' class='show'><select id='pselect" + textpn + "'></select></div>"); 
      //$("pselect" + pn).append(function(){ 
       $.ajax({ 
        type: "GET", 
        url: "test.xml", 
        dataType: "xml", 
        success: function(xml) { 
         $(xml).find('value').each(function(){ 
          var value = $(this).text(); 
          $("#pselect" + textpn).append("<option value='" + value + "'>" + value + "</option>"); 
         }); 
        } 
       }); 
      //}); 
      $("#part" + textpn).append("<span style='font-weight: bold;'> QTY: </span><input name='QTY' type='text' style='width: 20px;'>&nbsp; &nbsp;<a href='#' onClick='removeItem(\"#part" + textpn + "\")'>Remove</a><p> </p>"); 
      pn++; 
      $("#pn").val(pn) 
     } 

     function removePart(id) { 
      $(id).remove(); 
     }