2017-04-17 34 views
3

這裏是我的HTML代碼(這是我覺得問題出在哪裏)填入HTML中的選擇框:如何自動使用jQuery和AJAX

<form name="County" method= "post" action="post"> 
<select id= item.county_name name= item.county_name> 
<option value="item.county_name"> County </option> 

</select> 
</form> 

這裏是我的javascript:

$.ajax({ 
url:'http://107.170.75.124/courts/courts.json', 
method: 'post' 
}) 
.done (function(data){ 
    data.forEach(function(item){ 
    console.log (item.county_name); 
    $ ('select'). append ('<option value="' + item.county_name + '">' + 
'</option>'); 


}) 
}); 

當我嘗試運行它的下拉框顯示全部100個地區,他們應該是一個縣,但全部爲空白。所以我的猜測是,HTML有些問題阻止了它的可見性。所有縣在我的控制檯顯示

回答

3

您忘記供應<option>元素的實際顯示值。你<option>元素清盤這樣的:

<option value='ajax result item here'></option> 

隨着<option>元素是空的。

行改成這樣:

$ ('select').append('<option value="' + 
    item.county_name + '">' + item.county_name + '</option>'); 

或者,只是這(因爲當沒有值上明確設置一個option,該值將成爲option的顯示文本):

$ ('select').append('<option>' + item.county_name + '</option>'); 
0

"value" PARAM僅設置選項的值,而不是它的標籤。標籤必須是<option>標籤

你的代碼是不完整之間。

$ ('select').append('<option value="' + item.county_name + '">' + '</option>'); 

的結果是這樣的

<option value="somecountry"></option> 

你需要去改變它,如:

$ ('select').append ('<option value="' + item.county_name + '">' + item.county_name + '</option>'); 

應該輸出

<option value="somecountry">somecountry</option> 
+0

您在您建議的有語法錯誤代碼修復。一旦你解決這個問題,你將有一個,我發佈了一個小時,一個半前相同的代碼。 –

+0

我投你的答案了......還是朋友? :d –