jquery
  • html
  • xml
  • ajax
  • 2012-03-02 3 views 1 likes 
    1

    <select>タグを動的に作成し、XML値を入力する際に​​問題があります。<select>にXMLのAJAX呼び出しを追加します

    jQueryは、<div>にselectを付加し、XMLデータから<option>タグを追加します。

    初めてのXML/AJAX試行。いくつかの広範な読書を行っていますが、近づいています。あなたのコードで

    $("#mySelect").append("<option class='ddindent' value='" + value + "'>" + value + "</option>"); 
    

    <html> 
        <head> 
        <script src="jquery.js" type="text/javascript"></script> 
        <script> 
         function addSelect() { 
         $("#myDiv").append(function(){ 
          $.ajax({ 
          type: "GET", 
          url: "test.xml" 
          dataType: "xml", 
          success: function(xml) { 
           $("#myDiv").append("<select id='mySelect'>"); 
           $(this).find('value').each(function(){ 
           var value = $(this).text(); 
           $("#mySelect".append("<option class='ddindent' value='" + value + "'>" + value + "</option>"); 
           }); 
           $("#myDiv").append("</select>"); 
          } 
          }); 
         }); 
         } 
        </script> 
        </head> 
        <body> 
        <div id="myDiv"></div> 
        <a href="#" onClick="addSelect();">Add Select</a> 
        </body> 
    </html> 
    

    答えて

    1

    、あなたがしている:

    ここに私のコードの例です01からデータを読み取っていない。変更$(this)$(xml)へ:

    $(xml).find('value').each(function(){ 
        var value = $(this).text(); 
        $("#mySelect").append("<option class='ddindent' value='" + value + "'>" + value + "</option>"); 
    }); 
    

    編集: MMMは(あなたがmySelect周りのブラケットを閉じていなかった

    編集指摘し、構文エラーを修正しても#mySelectmySelectを変更:あなたのコードにいくつかの異様なものがあります。私は以下のように修正しました:

    function addSelect() { 
        $.ajax({ 
        type: "GET", 
        url: "test.xml", 
        dataType: "xml", 
        success: function(xml) { 
         $("#myDiv").append("<select id='mySelect'>"); 
         $(xml).find('value').each(function(){ 
         var value = $(this).text(); 
         $("#mySelect").append("<option class='ddindent' value='" + value + "'>" + value + "</option>"); 
         }); 
         $("#myDiv").append("</select>"); 
        } 
        }); 
    } 
    
    0

    変更

    $("mySelect".append("<option class='ddindent' value='" + value + "'>" + value + "</option>"); 
    

    (追加IDセレクタ)

    +0

    oth何らかの理由で緩やかな '$(xml)'があります。 – MMM

    +0

    このコードを作成してしまっただけです。私の生産モデルにはそのようなものはありません。ちょうど安全であるために、私は自分のコードを調べて、あなたはそれを知っていませんでした。私は 'urlの後にコンマがありませんでした:" test.xml "' [me gusta] – Plummer

    関連する問題