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写出鼠标指到哪一列就获到那一列相应的值了 ,只能将就这样处理了。。。 |