javaScript获取DataTable中某行某列的值

Mrpublic 2009-08-11
去了好几个圈子都无人问哦
我想获取DataTable中某列的值,当该列的值是用<h:inputText> 确定的,不是OutputText 我就是想当输入它之后 失去焦点后就把它的值 传给另外相应的列的值?
js怎么弄呀 ?
我用
var a = document.getElementById("form:table:0:colId").innerText;
这个只对outputText起作用,InputText不起作用

而且 我用 0 这个具体某一行,才有能获取该行列的值,如果用row来取代 就会是NUll;

如果我 用
var a=document.getElementsByTagName("colName");来获取到一个某列的对象的话
a.length 就为0???

请各位帮忙看看??小弟先谢了。。。

birdbiena 2009-08-11
没看明白你想要什么,说的在清楚点。


你是不是想要页面上的值,传给你想要的变量里
Mrpublic 2009-08-11
birdbiena 写道
没看明白你想要什么,说的在清楚点。


你是不是想要页面上的值,传给你想要的变量里



我的前台页面上有用到<rich:DataTable> 该table绑定了一个特定对象,比如 员工(employee)它有 工号,姓名,出生年月,月薪(Double类型), 工作月数(Double类型),工资(Double类型)等属性

现在 页面从数据中得到如下数据:

工号     姓名   月薪    工作月数  工资
F322    张三   1500
H122    李四   2000

工作月數與工資是你要輸入的數據 如 在张三那一行的工作月數 你輸入 1 ,鼠標一移開 就调用一个JS 工资就产生 1500;
在李四那一行的工资中输入2000 工作月数就得到1..

现在关键是我js取不到Datatable中我 输入的工作月数 1 ?
就这样的情况 。。谢谢
tss0823 2009-08-12
你用的是JSF 标签?
   你可以直接
var oTable = document.getElementById("tbId"); 
   //tbId 是你操作的 Table id 属性,用JSF 如果没有写,可以查看源码找到
var oTd = oTable.rows(1).cells(1);  //获取张三TD 对象。。以此类推

比如:
var monthVal = oTable.rows(1)cells(2).innerText // 获取工作月数值

    。。。。
Mrpublic 2009-08-12
tss0823 写道
你用的是JSF 标签?
   你可以直接
var oTable = document.getElementById("tbId"); 
   //tbId 是你操作的 Table id 属性,用JSF 如果没有写,可以查看源码找到
var oTd = oTable.rows(1).cells(1);  //获取张三TD 对象。。以此类推

比如:
var monthVal = oTable.rows(1)cells(2).innerText // 获取工作月数值

    。。。。


謝謝 我怎么oTable的長度呀
var b=oTable.length; 不行呀?

还有你这个 var oTd = oTable.rows(1).cells(1);  只能静态的指到某一行,我要是动态的 table中任一一行 而不是指定某一行,把 1怎么弄成 i(i=0,1,...)
谢谢。。。
wrong1111 2009-08-12
把各列指定一个ID。而且各ID不同但又相互联系这样就可以了。。
比如:
一行一列ID 11  二行一列 21
一行二列ID 12  二行二列 22
一行三列ID 13  二行三列 23
这样就可以知道任一个列的的ID。就可以操作其对象了。。

呵呵,,个人愚见。
听听高人的意见。。
Mrpublic 2009-08-12
wrong1111 写道
把各列指定一个ID。而且各ID不同但又相互联系这样就可以了。。
比如:
一行一列ID 11  二行一列 21
一行二列ID 12  二行二列 22
一行三列ID 13  二行三列 23
这样就可以知道任一个列的的ID。就可以操作其对象了。。

呵呵,,个人愚见。
听听高人的意见。。


你理解錯我的意思了 ,你这样写很不方便呀 要是有100条 1000条 更多 不是很麻烦?

现在我用js直接获取不了dataTable的长度 ,只有在后台out
到页面一个integer 对象 然后用<h:outputText value=“ ” id=“id1”> ,
然后再用js 获取它的值 ,该值就为dataTable的长度 ,然后就能用js写出鼠标指到哪一列就获到那一列相应的值了 ,只能将就这样处理了。。。
Global site tag (gtag.js) - Google Analytics