JQuery :: Cloning A Table Row And Changing Various Ids?
May 21, 2010
I'm new to jquery so I'm having a bit of an issue cloning a table row and having all of the id's change correctly. I'm able to clone a row with no problem and change the id of the tr after clicking a button by doing this:
var newId = document.getElementById("id").value; // This works because I am using a hidden input for my id $(id).clone().attr("id", "row" + newId).insertAfter("#div_id");// This changes the id of row The problem I am having is when I want to change the other id's inside of the tr. After insertAfter() I'll do the following: .find("span").text("Item" + newId).find("#Item_A" + oldId).attr("id", "Item_A" + newId);
The first .find will change the text with no problem, its when I get to Item_A that it will keep the old id instead of incrementing to the new id. Yes, I am declaring oldId as a variable and assigning it as newId - 1. Any ideas on how to make sure all id's are incremented properly?
I am currently using this function to clone rows in my table when a user clicks 'add row'
The problem is, obviously, cloning the row also clones any of the data that the user may have already entered. I need to just clone the elements of the row, not the user entered data. Is there a way to remove all data from a row before it is cloned?
I have a DIV element on a page that has a style="visibility: false" when the page loads. When a user unchecks a checkbox, I am using JQuery to do many things on the page. All of which are working but one thing. I cannot seem to make the DIV element visible. I have tried several things all of which have not worked. how to make this DIV element visible using JQuery? Here is one of the things I tried which didnt work... dv1 being the ID for the div.
I need to .clone() sections in a dynamic form, but get problems withthe radio buttons in IE.To work as a group, the radio buttons need to have the same name (persection). This is accomplished by changing the name attribute aftercloning a hidden section in a <div>. Easy with jQuery! - and it workswith FF, Opera, Chrome, Safari...IE however, does not allow changing of name attribute dynamically, andtreats all radio buttons across the sections as part of the samegroup!!Does anyone know of a workaround, preferably using jQUery, andavoiding browser sniffing and low-level DOM programming?
I am using the little tooltip script below. Normally, works fine, except when I clone an element which has a tooltip in it and append it to another element using something like: $("#table tbody").append($("#row").clone(true));.
Now, immediately after cloning it, I use jQuery to alert the title attribute, and it is in the new element. Then, when I view it using firefox, the title is gone, and obviously the tooltip cannot work.
/** Vertigo Tip by www.vertigo-project.com Requires jQuery */
I have a form where you can enter 1 player's data, press a button and that DIV gets cloned below with same ID names but numbers get augmented (ie firstName_1 in div player_1 becomes firstName_2 in player_2). My problem now is I have a Gender radio button and that if you fill out the gender question and then press the 'Add Player' button the checked status seems to disappear from the cloner div but is retained in the clonee div.
IE you can set gender_1 to 'Male' in div player_1 (checked with DOM inspector and console logging) but when stepping thru the code in firebug
how would i go about changing the background of a row in a table that has colums when a check box is clicked...i can change the colour of a single column but how can i change all the columns in a row? ive heard about this "get prarentnode" thing but i dont know how to use it.
I'm populating a table from my database using .Net and within this application, I am then comparing the value the user has entered to the first column of every table row in the pre-populated table.For some reason, when I loop through each row in the table and return the value in the first column...the value always stays the same when in fact i know its different by just looking at it on the screen and in the html source.I throw up an alert message for each time it loops, and it its looping the correct amount of times, just not returning a the correct value.
I'm the webmaster for a recreational organization. As part of one page of the site, I have an HTML "Calendar at a Glance" of the organization's events for the month. It's a simple table of a calendar, 7 across by whatever needed down, and I manually create it each month - not a big deal.
Every day I go in and darken the background color of the current day's cell by changing the appropriate <TD> entry to <TD bgcolor="c63800"> and uploading the page. Takes well under a minute start to finish. Thus the calendar gradually changes color over the course of the month, with the past dates dark and the future dates lighter and thus more apparent to the eye.
But I have to ask if there's a nifty way in which this might be done automatically, based on the current day and the number (the day of the month) that follows the <TD> entry.
I'm using a fieldset with a set of form elements as a template, but when I clone the node and try to change the contained element names + ids, they are being set at some point, because I can 'alert' the new names/ids out, but they are not being changed in time to be written to the DOM.
The code is here. Take '?debug' off the address to ditch the alerts.
It's probably a dumb mistake I've made along the way, but I can't see the wood for the trees Any pointers would be great.
UPDATE: The function in question is 'addDate'. I have a form generated from PHP and I want to clone a group of elements and rename each from 'startTime1[h]' to 'startTime2[h]' etc. but the new elements are keeping the same name 'startTime1[h]'.
I have put together a small script and need to clone all the object boxes so that I can copy from selelct box 2 to textarea 1 after adding new row. I am also looking to copy from autocomplete to the same textarea and have the text fall into the text box on a new line.
I'm super new to any kind of java script. What I want is a menu that, when clicked, changes the background color of a table cell to blue. When a different option is clicked, the current highlighted table should turn back to gray and the new selection should be blue. Well, I have all of that working. What I need now is just to have the first option start out highlighted and to become unhighlighted when another option is clicked.