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'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.
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.
I'm making a Vacation Rental application and it works... for the most part. The following will describe what a property owner will be doing when they subscribe to this site to add their vacation rental property to the site.
They first enter information about the Property Site itself, location, address.etc., and then they add specific attributes about the property, such as how many rooms are in the house, bathrooms, accommodations, etc.
Here's an image for the page:
When the "Add Button" button is clicked, it opens a jQuery dialog to allow the site owner to enter information about the room, such as the Room name, description, how many it sleeps, etc. This all works, for the most part.
Here's a shot of the dialog:
When the site owner clicks the "Save" button, the data in the dialog is sent to the server via Ajax (Json). Again this all works.
After a successful transaction, the server controller returns HTML of the table of rooms for this property site and then the jQuery success option replaces the existing HTML table with the new table that has the new row that includes the new room information.
Again, this does work.
What doesn't work completely correctly is, in each row of the table are buttons to "Edit" the room, or "Manage Beds" for the room, and after the table is dynamically replaced via the jQuery script, the button click events in each row are no longer bound.
So it's the "Manage Beds", "Edit" and "Delete" buttons that lose their event binding after the HTML table is replaced when a new Room is added or edited.
Is there a way to re-bind the button events after the table is replaced? I'd really like this to be bullet-proof.
I have been working on a paging and it all works fine , the codeit's based on the code from this page [URL]
I have tried to recreate thenavigationto work before and after the table I can put the data there but it does not worksimultaneously the before and after navigation
I have tried several solutions but I can't get it to worksimultaneously
When a thead contain less columns than real columns in the tbody section, the Tablesorter plugin produces a variable not found error in jquery coreTo reproduce simply do not put all <th> in thead that correspond to columns in tbody.
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 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?)
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>
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 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 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.
When you click the text "info" in the column "comments", a row should be displayed below with text information that is related to the "comments". Need also to click the text "Info" again to hide the text information of comments. Problem: I don't know how to display the row when you click one of the comments with the text "info". When clicking one of the link the remaining rows with the text "info" should not be affected. In order words, the part should be independent Need also some help hiding the text information of comments.
There are some things that you also need to take account to: - The amount of data that will be displayed in the table will be changed from day to day. The data is taken from a xml file.- Would like the sourcode to be written in jQuery.- Only html, css and javascript is allowed in this context.- html code in tr and td will be generated by javscript code.The class "firstDataRow" is the added in the tr row that has the text information of commentsPlease remember that the text hide and show is only for temporary.
I have several table rows with the class name "recs", each containing a cell with the class name "data".Now I want to copy the text inside the table cell into a text box whenever I click on each row. For example if I click on the second table row, the name "David" would be copied in the textbox "name"
I need to find all rows in a table ending with an id.. $("element[id$='txtTitle']")
this will work fine i know.... but i want to find it inside it inside another table whose id i have and not the whole document.. how do i achieve this??
is there a way in jQuery to bind variables to function calls similar as prototype.js does it? See [URL]
E.g. in the slideUp method of jQuery you can specify a callback that is called after the effect has finished. I would like to bind a variable to this call so that it is used inside of this callback as a closure.
How can I use jquery to cycle through all the table rows I have in a table, and hide the rows that contain a specific HTML value that I pass to jquery?For instance, I have a table full of students, and courses each student is taking. If I want to hide all the rows where the course is Chemistry (regardless of student), how would I do that?I already have captured the HTML value, what I mainly need help with is how to tell jquery to hide ALL of the rows with that HTML value, rather than just the row I click on.