使用HTTP适配器在IBM Worklight上进行测试。
我的问题是:如何刷新页面并用新的列表项覆盖旧的?或清空列表项并添加/追加新列表项?
没有页面刷新概念,从下拉列表中,如果选择了sport,则会附加cnn体育新闻,然后如果选择了技术,则在最后一个列表标记结束之后附加cnn技术新闻,这是在体育新闻之后。
使用页面刷新概念(window.location.reload();
)。通过尝试js代码,页面刷新但无法附加rss feed项。
我希望一次显示一个新闻类别,之前的列表将被覆盖。
HTML
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>RSSnew</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0">
<link rel="shortcut icon" href="images/favicon.png">
<link rel="apple-touch-icon" href="images/apple-touch-icon.png">
<link rel="stylesheet" href="css/RSSnew.css">
<script>window.$ = window.jQuery = WLJQ;</script>
</head>
<body id="content" style="display: none;">
<!--application UI goes here-->
<select size="2" id="cc">
<option selected>select categories</option>
<option value="Sport">Sport</option>
<option value="Technology">Technology</option>
</select><br>
<input type = "button" onclick="search()" value="Search">//onclick="reload(),search()"
<ul id="news"></ul>
<script src="js/initOptions.js"></script>
<script src="js/RSSnew.js"></script>
<script src="js/messages.js"></script>
</body>
</html>
JS
function search()
{
window.location.reload();
var a=$("#cc").val();
alert(a);
var invocationData={
adapter:'cnn',
procedure:'getStories',
parameters:[a]
};
var options={
onSuccess:su,
onFailure:fa
};
WL.Client.invokeProcedure(invocationData, options);
}
function su(result)
{
alert("success");
var a=result.invocationResult.rss.channel.item.length;
var i;
for(i=0;i<=a;i++)
{
var b=result.invocationResult.rss.channel.item[i].title;
var c=result.invocationResult.rss.channel.item[i].description;
var d=$("#news");
var e=$('<li><b><u>'+b+'</u></b></li>');
var f=$('<li>').html(c);
d.append(e,f);
}
}
function fa()
{
alert("failure");
}
function reload() {
window.location.reload();
//$("#news").remove();
// search();
}
答案 0 :(得分:0)
而不是使用window.location.reload();
只是清空#news UL元素的内容。
在search()
函数中,将重新加载行替换为ul.innerHTML = '';
。
应该工作。
答案 1 :(得分:0)
如果你使用jQuery setInterval 函数方法,你将刷新&amp;覆盖您的数据而不重新加载页面。
var doYourStuff = function () {
// Your functionality
};
setInterval(doYourStuff, 1000);