Can you enter this as an issue in JIRA? Attaching a patch would make it even better. ;-)
http://issues.appfuse.org/browse/APF Thanks! Matt On 10/10/07, gederer <[EMAIL PROTECTED]> wrote: > > Ooops! Found a bug. > > Here's the corrected code: > > function highlightTableRows(tableId) { > var previousClass = null; > var table = document.getElementById(tableId); > var tbody = table.getElementsByTagName("tbody")[0]; > var rows; > if (tbody == null) { > rows = table.getElementsByTagName("tr"); > } else { > rows = tbody.getElementsByTagName("tr"); > } > // add event handlers so rows light up and are clickable > for (i=0; i < rows.length; i++) { > rows[i].onmouseover = function() { > previousClass=this.className;this.className+=' over' }; > rows[i].onmouseout = function() { this.className=previousClass }; > // GE: Added conditional to prevent whole row from becoming a link > when more than > // one link is present in the row. Also, gets the first link in the > entire column > // rather than the first link in the first row. > if(rows[i].getElementsByTagName("a").length == 1) > { > var _row = rows[i]; > rows[i].onclick = function() { > var link = _row.getElementsByTagName("a")[0]; > if (link.onclick) { > call = link.getAttribute("onclick"); > if (call.indexOf("return ") == 0) { > call = call.substring(7); > } > // this will not work for links with onclick handlers > that > return false > eval(call); > } else { > location.href = link.getAttribute("href"); > } > this.style.cursor="wait"; > return false; > } > } > } > } > > Greg > > > gederer wrote: > > > > Hi, > > > > The highlightTableRows function in global.js causes an entire row of a > > table to link to the href of the first anchor in the first cell in the row > > if the first cell contains an anchor. So, if the table looks like: > > > > <table> > > <tr> > > <td> mylink.html My Link </td> > > <td>Something here</td> > > <td> myOtherLink.html My Other Link </td> > > </tr> > > </table> > > > > then the whole row is linked to mylink.html, and clicking on 'My Other > > Link' goes to mylink.html instead of myOtherLink.html. > > > > I changed this so that a) If there is more than one link in the entire > > row, it doesn't assign any onclick behavior to the row so each individual > > link works; b) If there is exactly one link in the row, it uses that link > > even if it is not in the first column. > > > > Here's the code in case anyone's interested: > > > > function highlightTableRows(tableId) { > > var previousClass = null; > > var table = document.getElementById(tableId); > > var tbody = table.getElementsByTagName("tbody")[0]; > > var rows; > > if (tbody == null) { > > rows = table.getElementsByTagName("tr"); > > } else { > > rows = tbody.getElementsByTagName("tr"); > > } > > // add event handlers so rows light up and are clickable > > for (i=0; i < rows.length; i++) { > > rows[i].onmouseover = function() { > > previousClass=this.className;this.className+=' over' }; > > rows[i].onmouseout = function() { this.className=previousClass }; > > // GE: Added conditional to prevent whole row from becoming a link > > when more than > > // one link is present in the row. Also, gets the first link in > > the entire row > > // rather than the first link in the first row. > > if(rows[i].getElementsByTagName("a").length == 1) > > { > > rows[i].onclick = function() { > > var link = rows[i].getElementsByTagName("a")[0]; > > if (link.onclick) { > > call = link.getAttribute("onclick"); > > if (call.indexOf("return ") == 0) { > > call = call.substring(7); > > } > > // this will not work for links with onclick handlers > > that return false > > eval(call); > > } else { > > location.href = link.getAttribute("href"); > > } > > this.style.cursor="wait"; > > return false; > > } > > } > > } > > } > > > > Cheers, > > > > Greg > > > > -- > View this message in context: > http://www.nabble.com/Solution%3A-Individual-links-in-displaytag-table-cells-tf4604608s2369.html#a13148156 > Sent from the AppFuse - User mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- http://raibledesigns.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
