I need to be able to create a 2 column table and then based on which column
header is clicked on, sort the list by that column so that each table row is
sorted properly. If possible there might be more than one line in the row
and I would only want to sort on the first line in a given row. Can this be
done using JavaScript. If so, which entities do I need (A table? A form?)
I've been working on getting a table with a super header and sub headers to only sort by the sub headers. The example at [URL] shows this is possible but everytime I try to run the code the items in the top row are used to sort columns starting with 0. I've tried two different versions of jquery and re-downloaded Tablesorter twice now. It seems as if this should be easy and I'm just missing some amazingly simple thing.
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/ TR/html4/strict.dtd"> <html> <head>
I have a requirement to build a div in a page that contains a table of plane details, and one of the columns (on the left - tail number) needs to be sticky on the horizontal axis but not on the vertical axis (i.e. when scrolling right the tail numbers need to stay visible on the left hand side, but when scrolling down the tail numbers need to scroll to keep up with the rest of the plane details).
I have been looking at various ways of doing this but currently to no avail, the idea that looks most promising is to split it into two tables and set them both to have scroll bars, the problem with this idea was that both the tables need to be scrolled by the same amount vertically, i could get the position of one table using the offsetTop property but could not find a way of setting the offsetTop property for the other table so they stay aligned. The other issue with this is that it would be using the onscroll property which does not seem to show any distinction between horizontal and vertical scrolls..
I have a material table wich contains the article number, a quantity input field, a max quantity field... How can i test that the input quantity is less than the max quant one ? Here is a sample code :
I want to hide columns with all green cells and I stored the column # that I want to hide into an array, errorColumn(). I am able to hide the rows I want, but I can't seem to figure out the columns.
I think the .has function is the problem because when I use the if(j!=5), it'll hide all columns but the 5th one. I just need it to do that for every column in my array...
I'm looking for some super light-weight technique to take an existing table and just be able to resize the column headers. I've seen several jquery table plugins out there that seem to do everything imaginable, but I don't really need any of the fancy bells and whistles. I want to use my existing table structure and styles.
The code sortes/reverses the rows of a table with data upon the correspondent chosen column.
Uses DOM methods
Tested in IE6, NS7, Firefox, Moz 1.7, Opera 7.5 on XP
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>sort_reverse table</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <style type="text/css"> <!-- td { background-color: #CCCCCC; } --> </style> <script language="JavaScript" type="text/JavaScript"> function sortIt(w){ r=document.getElementById('tab').rows;//the root var oRows = new Array()//set the rows to be removed as an array of cloneNodes var iRows = new Array()//set those rows' indexes as array for(var i=1;i<r.length;i++){ oRows[i]=r[i].cloneNode(true); iRows[i]=r[i].rowIndex; } q=w.parentNode.cellIndex;//set the column index of cells content var oCol = new Array()//set the string content of column cells as array var vCol = new Array()//set the "compare" array for a future sort/reverse for(var i=0;i<iRows.length;i++){ oCol[i]=[r[i].cells[q].firstChild.nodeValue,iRows[i]]; vCol[i]=[r[i].cells[q].firstChild.nodeValue,iRows[i]]; } oCol.shift();//remove the first element (the content of the cell in first row vCol.shift();//do the same with "compare" array oCol.sort();//sorts the content array if(vCol.toString()==oCol.toString()){oCol.reverse()}//if the content was already sorted, reverse for(var i=1;i<r.length;i++){ r[i].parentNode.replaceChild(oRows[oCol[i-1][1]],r[i]) }//writes the rows in a sorted/reversed order } </script> </head> <body> <table id="tab" width="400" border="0" cellspacing="2" cellpadding="2"> <tbody> <tr> <td><a href="#" onclick="sortIt(this);return false">SORT/REVERSE</a></td> <td><a href="#" onclick="sortIt(this);return false">SORT/REVERSE</a></td> <td><a href="#" onclick="sortIt(this);return false">SORT/REVERSE</a></td> </tr> <tr> <td>Banana</td> <td>yellow</td> <td>10</td> </tr> <tr> <td>Apple</td> <td>cyan</td> <td>20</td> </tr> <tr> <td>Cherry</td> <td>blue</td> <td>40</td> </tr> <tr> <td>Drops</td> <td>green</td> <td>30</td> </tr> </tbody> </table>
I wanna find out the number of my columns in my table. How can I do that? I have tried to do it with the following code, but it delivers me an "undifined" as result. What's wrong here?
This example applies to javascript, table, cells, rows[color=blue] > > How do you access rows and columns of a HTML table? > > >[/color]
<script language="javascript"> alert('start'); var tabl = document.getElementById('ordersTable'); alert( tabl.rows.length); var l = tabl.rows.length; var i = 0; var s = ""; for (i = 0; i < l; i++ ) { var tr = tabl.rows(i); alert(tr); alert(tr.cells(0)); var cll = tr.cells(0); alert(cll.innerText); s = s + "|" + cll.innerText; } alert("result=" + s); </script>
How to I bind a click function to specific columns of a table row?
Btw, this is a (yet not answered) crosspost of [URL]
I currently have this piece of code:
$('#example tr').click( function() { // selection stuff here, $(this) is the row });
However, this binds the whole row. As there are checkboxes in the row, I don't want to have the cells containing them bound, too. But, there is a problem: I need to know what row has been clicked on / to what row the cell belongs to. I simply don't get it to work, I tried something like this:
I've got a website that displays all my products together within a table and the user can then click on the product they want to buy or obtain more info on. This is always displayed in four columns.
However if you have a few pages of products for one category it can be displayed across a few pages. For some reason the content management system I use will display only 1, 2 or columns on the last page if there are less than 4 products on the last page. When this happens you can get the produts displayed with a different width to what I've set within the CSS because the table's with is set to 100%.
When this happens is it possible to set the the width of the table to:
75% if there are 3 columns
50% if there are 2 columns
25% if there is only one column
Or is it possible to keep the width of the table at 100% and just add the extra columns if there are not 4?
The table id="catprods_tbl" and the columns (td) are is set to id="column_main"
I have included the example of the layout when there are only two columns on the last page.
The code works great to hide the columns. The only issue is when you un-hide them again, it does come up correctly. I want the headings to all be on the top row and then the actual data be on the next row. If you do all of them, it stacks all the headings on top of each other and then puts the data rows in order with 8 rows etc. Code is below.
Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">[code].....
I mainly do LAMP programming, and as such don't have much experience with JavaScript.
I'm looking for a simple function that will allow the user to reorder search data gotten from a database and displayed in a table.
Meaning, the user clicks on one of the column headers, and js automatically resorts the results. I've seen some stuff online, but none of it seems to really work.
Can anyone point me to something in the right direction?
I want to switch entire rows/columns around in a table. Move rows up/down and move columns left/right. This works fine in IE/opera but has a few problems in firefox.
First of all, is this the 'right' way to do this or is there a better way? Firefox doesn't support swapNode().
When moving rows up/down (top one in demo) firefox takes a few clicks to work when it should be one click on the button. I have no idea why. Code:
I have to sort a table where few columns are dynamically generated .I searched the net and came out with sorttable.js included in my jsp file . then called this function in <body>onload event as initTables('id_of the table"); It was working out for me..I have some columns which introduce the concept of hidden columns so when I try to hide it instead of hiding it just sorts..Is there a way to not to sort the first row alone becoz my first row is the total amount. I do have expand and collapse columns in my table I am not able to sort the parent row get sorted along with the child rows. I want the parent row to be static and only the child rows getting sorted ..
I use the Tablekit library and Prototype javascript framework on firefox, chrome & IE8. The columns in this table can be sorted by the Tablekit library.
However, after adding the periodic refresh by AJAX (eventually I want to refresh only the web page when there is new data available) and <div>, then the columns in this table cannot be sorted by the Tablekit library.
I want to make the table header clickable and used the sample code from Textbook Learning JQuery I am not sure where is the class 'clickable'present. Does anybody know how can I get this working. I loaded the JQuery.js and its linked properly.
I'm working on a project that requires an HTML table, in which the rows can be sorted (ascending and descending) based on the values of a particular column. In other words, regular sorting.I've tried a couple jquery plugins and they work just fine, however, the table that I'm working with is somewhat different to a regular table, because it will display 2 values (prices) in the same column for each row.
I would like to write my own java script function or plugin to accomplish what I need, but before I write any code, I just wanted to get some advice as to the things I need to take into consideration.For example (and please forgive my thought process in case is flawed):n order to sort the rows of the table, based on the values of a particular column I would have to do the following:Capture the values of the column I want to sort by and sort themThen, capture the values of each row and link them to each cell on the column that is being sorted