2012-10-10 37 views
1

我有下面的JavaScript將被執行時,頁面加載AJAX鏈接: -如何動態創建返回的JSON

$(document).ready(function() { 

    $.ajax({ 
     type: "GET", 
     url: "http://localhost:8080/jw/web/json/workflow/package/list?loginAs=admin", 

     dataType: "JSONP", 
     // contentType: "application/json; charset=utf-8", 
     success: function (result) { 
      $.each(result.data, function (key, val) { 

       // Format the text to display. 
       var str = val.packageName ; 
       // Add a list item for the product. 
       $('<li/>', { text: str }) 
       .appendTo($('#products')); 

      }); 
     } 
    }); 
}); 

和asp.net web頁面有以下列表,其中每個項目在列表中represtns一個JSON對象: -

<h1>All Processes</h1> 
<ul id="products"/> 

但是我試圖做的是,而不是僅僅顯示在列表中val.packageName,動態地創建一個Ajax鏈接,每個josn對象,當用戶點擊這個ajax鏈接調用另一個是的API,然後在另一個列表中顯示返回的JSON。 但任何人都可以幫助我如何執行這樣的功能? BR

回答

0

測試小提琴 - http://jsfiddle.net/picklespy/zWQHh/

列表項只需添加到ul以上和以下內容添加到您的JavaScript代碼:

$('ul#products li').click(function(o){ 
    // alert($(this).text()) 
    // call your other api here... 
}); 

這將一個單擊處理程序添加到每個列表項<ul id="products">,點擊後會調用你的第二個ajax。

希望這會有所幫助。

+0

感謝您的答覆,但這樣列表項的包名不會顯示爲鏈接,它會顯示爲文本。 –

+0

好的,爲了清楚起見,你能解釋一下'顯示爲鏈接'的含義是什麼......這樣我可以相應地更新我的答案。 –

+0

可點擊的鏈接,如ajax.actionlinks或等 –

2

我相信這是對處理程序列表中的事件的方式(http://the-jquerymobile-tutorial.org/jquery-mobile-tutorial-CH11.php

這完全適用於我一點點改變......

$('ul#products li').click(function(o){ 
    // alert($(this).text()) 
    // call your other api here... 
}); 

使用這種方式:

$(document).on('click', 'ul#products li', function(e){ 
    alert($(this).text()); 
}); 

也看看那些選擇器:http://www.w3schools.com/jquery/jquery_selectors.asp

的問候:)