JScript 字符串和变量问题?水平右对齐?

Challenger_Ican 2011-03-19 10:12:38
以下是一个实时股票的数据接口

<script type="text/javascript" src="http://hq.sinajs.cn/list=sh601898" charset="gb2312"></script>
<script type="text/javascript">
var elements = hq_str_sh601898.split(",");
document.write(elements[0] + " : " + elements[3] + '<br />');
</script>


我在*.aspx中gridview中的数据如下,想让now_price实时更新,或电一个按钮更新一次,相关的js代码如何写。我自己写了一些,恳请指正、补充。感谢!

-- 数据表
stock_id | now_price
---------+-----------
SH601898 | 11.52
---------+-----------
SH600420 | 18.98
---------+-----------
SZ000725 | 3.32
---------+-----------

<script type="text/javascript">

for (var i = 1; i < GridView1.rows.length; i++) {
document.write(i + "<br />");
document.write(document.getElementById("GridView1").rows[i].cells[0].innerText + "<br />");
document.getElementById("GridView1").rows[i].cells[2].vAlign = 'top'; //如果水平右对齐的话,请问如何写?

var stockID = document.getElementById("GridView1").rows[i].cells[0].innerText;
document.write("stockID: " + stockID + "<br />")

//..........???
}
</script>
...全文
130 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Challenger_Ican 2011-03-22
  • 打赏
  • 举报
回复
我自己用ASP做了(测试通过):
<%
Dim stock_ID As String = "sh601898"
Response.Write("<br />")
For iii As Integer = 0 To GridView1.Rows.Count - 1
stock_ID = GridView1.Rows(iii).Cells(0).Text.ToLower 'JScript 区分大小写!返回的文件中字符串是小写的 hq_str_sh601898
Response.Write("<script type='text/javascript' src='http://hq.sinajs.cn/list=" & stock_ID & "' charset='gb2312'></script>")
Response.Write("<script type='text/javascript'>")
Response.Write(" try {")
Response.Write(" var elements = hq_str_" & stock_ID & ".split(',');")
Response.Write(" var Ratio = ((elements[3]-document.getElementById('GridView1').rows[" & iii + 1 & "].cells[6].innerText)/document.getElementById('GridView1').rows[" & iii + 1 & "].cells[6].innerText).toFixed(4);")
Response.Write(" document.getElementById('GridView1').rows[" & iii + 1 & "].cells[1].innerText =elements[0];") 'stock_name
Response.Write(" document.getElementById('GridView1').rows[" & iii + 1 & "].cells[2].innerText =elements[3];") 'now_price

Response.Write(" document.getElementById('GridView1').rows[" & iii + 1 & "].cells[3].innerText =((elements[3]-elements[2])*100/elements[2]).toFixed(2) + ' %';") 'today's Ratio %

Response.Write(" document.getElementById('GridView1').rows[" & iii + 1 & "].cells[1].align = 'center';") 'or .cells[2].vAlign = 'top'
Response.Write(" document.getElementById('GridView1').rows[" & iii + 1 & "].cells[2].align = 'right';") 'or style.textAlign = 'right'
Response.Write(" } catch(e) {")
Response.Write(" }")
Response.Write("</script>")
Next
%>
浴火_凤凰 2011-03-21
  • 打赏
  • 举报
回复
实时更新绝对不能使用document.write
城浪 2011-03-21
  • 打赏
  • 举报
回复
在JS里也能这样得Gridview中的值,学习了
Cool_xiaocao 2011-03-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 theforever 的回复:]

引用楼主 challenger_ican 的回复:
<script type="text/javascript" src="http://hq.sinajs.cn/list=sh601898" charset="gb2312"></script>
<script type="text/javascript">
var elements = hq_str_sh601898.split(","……
[/Quote]

这个主意好像比较合理
朋友,个人能力有限,只默默的在一边看好了
  • 打赏
  • 举报
回复
[Quote=引用楼主 challenger_ican 的回复:]
<script type="text/javascript" src="http://hq.sinajs.cn/list=sh601898" charset="gb2312"></script>
<script type="text/javascript">
var elements = hq_str_sh601898.split(",");
document.write(elements[0] + " : " + elements[3] + '<br />');
</script>[/Quote]
要实时的话,setTimeOut或setInterval,每次重新设置SCRIPT的src地址并用随机数作时间戳避免缓存。就OK了。
上海程序员3 2011-03-20
  • 打赏
  • 举报
回复
你这样写效率很底,直接innerHTML一整张表,即整张表都重写一次,即对比你现在这样写效率要高。
孟子E章 2011-03-19
  • 打赏
  • 举报
回复
document.getElementById("GridView1").rows[i].cells[2].align = 'right';

or
document.getElementById("GridView1").rows[i].cells[2].style.textAlign = 'right';
Challenger_Ican 2011-03-19
  • 打赏
  • 举报
回复
感谢 #1楼 net_lover(【孟子E章】),右对齐问题解决。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧