1

ajax を使用して Web サービスを呼び出した後、このような json を取得しています。json をデコードして、各値を従業員として警告し、一時的な値を次々に警告しました。これらの値をドロップダウン フィールドに取り込みたいと思います。 IDウルトラのフォーム、ドロップダウン用に2つの空のフィールドを取得しています+デコードした値。アイテムのjson応答は

["Employee","Temporary"]

結果を呼び出してデコードし、返されたjsonの各要素を警告するための私のcodd

function ajax(){
 var loc=document.getElementById('category_id1').value;
alert(loc);
var req;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
req=new XMLHttpRequest();
}
 else
 {// code for IE6, IE5
 req=new ActiveXObject("Microsoft.XMLHTTP"); 
}
req.open("POST", "ajax.php?&loc="+loc+"", true);
req.send();
var html
req.onreadystatechange=function(){
   if(req.readyState==4&&req.status==200){
       //$(".error").hide();
       result=req.responseText
       //alert(result);
       var items = JSON.parse(result);
       //alert(items.length)
       for(var i=0; i<items.length; i++)
        {
            var item = items[i];
            //alert(item);
            html=html+"<option value="+item+">"+item+"<option>"
        }

       }
       document.getElementById("Ultra").innerHTML=html
   }
 }
<form>
<label for="subcategory">Sub Category</label>
<select style="width:305px" name="subcategory" id="Ultra" onchange="run()"> 
<option value="">Select</option>
</select>
</form> 

同じページの後のフォームフィールドは、ここで空のフィールドを取得できません

4

1 に答える 1

0

まず、テンプレート (閉じられていないタグ) を間違えました。引用符を使用して選択値を定義することをお勧めします。あなたが使用している

html=html+"<option value="+item+">"+item+"<option>"

それ以外の

html=html+"<option value='"+item+"'>"+item+"</option>"

それがどのように機能するかを示す単純なjsfiddleを作成しました:http://jsfiddle.net/KPGhY/

また、興味のある人のためにここにコードを追加してください。

HTML は同じで、JS は次のとおりです。

var items = [ "Employee", "Temporary" ];
var html = '<option value="">Select</option>';
for ( var i = 0; i < items.length; i++ ) {
    html += "<option value='" + items[ i ] + "'>" + items[ i ] + "</option>"
}

document.getElementById("Ultra").innerHTML = html;
于 2013-04-11T11:31:43.387 に答える