2015-11-20 65 views
2

我有這個<script>JSON響應不會追加到div的

// autocomplet : this function will be executed every time we change the text 
function autocomplet() { 
    var min_length = 0; // min caracters to display the autocomplete 
    var keyword = $('#stock_name').val(); 
    if (keyword.length >= min_length) { 
     $.ajax({ 
      url: 'search', 
      type: 'POST', 
      dataType: 'application/json', 
      data: {keyword:keyword}, 
      success:function(data){ 
       $('#stock_list').show(); 
       $('#stock_list').html(data); 
      } 
     }); 
    } else { 
     $('#stock_list').hide(); 
    } 
} 
// set_item : this function will be executed when we select an item 
function set_item(item) { 
    // change input value 
    $('#stock_name').val(item); 
    // hide proposition list 
    $('#stock_list').hide(); 
} 

而使用谷歌Chrome瀏覽器開發工具時,我可以看到我'得到響應:

{aktie: "Hoist Finance AB"}, {aktie: "Holmen AB ser. A"}, {aktie: "Holmen AB ser. B"}] 
0: {aktie: "Hoist Finance AB"} 
1: {aktie: "Holmen AB ser. A"} 
2: {aktie: "Holmen AB ser. B"} 

而且我想在div中顯示JSON響應,但它不會顯示!

<div class="content"> 
     <form> 
      <div class="label_div">Type a Stock : </div> 
      <div class="input_container"> 
       <input type="text" id="stock_name" onkeyup="autocomplet()"> 
       <ul id="stock_list">asd</ul> 
      </div> 
     </form> 
    </div> 

我試圖append,從jQuery文檔val等少數,但一無所獲。

我的問題:我如何顯示JSON響應,我得到,在div stock_list

回答

3

定義爲企業的成功像以下。

更改您的HTML代碼:

success:onSuccess 

然後定義功能onSuccess()

function onSuccess(data) { 
    $('#stock_list').show().html(""); 
    $.each(data, function() { 
      $("#stock_list").append("<li>" + this.aktie + "</li>"); 
     }); 
    } 
} 
+0

好多比我 – RiccardoC

+0

謝謝配合@RiccardoC – Bfcm

+0

但你忘了清理#stock_list HTML;) – RiccardoC

0

您的JSON數據必須被解析。 @Bfcm答案後可進行編輯,這是更好的

 success:function(data){ 
      $('#stock_list').show().html(""); 
      $.each(data, function() { 
       $("#stock_list").append("<li> + this.aktie + "</li>"); 
      }); 
     }