我有以下javaScript,它将在页面加载时执行: -
$(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网页有以下列表,其中列表中的每个项目代表一个JSON对象: -
<h1>All Processes</h1>
<ul id="products"/>
但我想要做的不是只显示列表中的val.packageName
,而是为每个josn对象动态创建一个ajax链接,当用户点击这个ajax链接调用另一个API时, .../web/json/workflow/process/list?packageId=val.packageName
然后在另一个列表中显示返回的JSON。
但任何人都可以帮助我如何执行这样的功能?
BR
答案 0 :(得分: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
问候:)
答案 1 :(得分: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。
希望这有帮助。