JavaScript - Convert String To Variable Name
Say I had a bunch of elements with id names "id1", "id2". "id3" etc. Then say I had a function that adds a click handler such that when you click these elements it gets the id name with this.attributes[1].nodeValue;. Then say I had a bunch of arrays with the same names as the ids var id1 = ["data", false, 45]; var id2 = ["otherdata", true, 15]; var id3 = ["otherotherdata", null, 65];. How would I set a variable "currentid" to the array with the corresponding name as the id name? I guess the underlying question is, how would I convert a string to a variable name?
Similar TutorialsHello. I need help PLEASE ! I need to convert a string Quote: lalaw|lalaw1|lalaw2|lalaw3 in to Array The values I have in variable "tables" I want to create variable list which takes values from "tables" Than I want to split this, and put each value in to new array: I've started with: Code: var list = "tables"; var listArray = list.split("|"); for(i=0; i < listArray.length;i++) { //? how to put now values in to array? } Best Regards Leos ok so Code: <p> Howdy <p> expressed as a literal string that is passed to the setTimeout() function might look like this: Code: setTimeout("document.getElementById('first').innerHTML = '<p>' + 'HOWDY' + '<\/p>';", 2000); ..so I guess you can't just put quotes around an expression like this: "'<p> HOWDY <\/p>;" So tags have to be isolated, but it get confusing with expressions like this, which I am not sure how to express as a string: Code: <p><h2 class="pos_left"> <img src="car1.jpg" name="slide" width="400" height="250" /> </h2> </p> ^ I wish I could change the " in there to ' and then just wrap the whole thing in double " This is what I came up with but it did not work: Code: setTimeout("document.getElementById('first').innerHTML = '<p>' + '<h2' + 'class='pos_left'' + '>' + '<img' + 'src='car1.jpg'' + 'name='slide'' + 'width='400'' + 'height='250'' + '/>' + '</h2>' + '<\/p>';", 4000); ... at least that's what I think I'm trying to do... what I have is this function which reads the JSON attributes of crab_house, a JSON object: Code: $.getJSON( '../map/clients.json', function(data) { $.each( data. crab_house , function(i, m) { bizAdd= new google.maps.LatLng(m.lat, m.lng); var message =m.html; createMarker(bizAdd,message); }); but what I would like to do is something like: Code: var bizId='crab_house'; $.getJSON( '../map/clients.json', function(data) { $.each( data. bizId , function(i, m) { bizAdd= new google.maps.LatLng(m.lat, m.lng); var message =m.html; createMarker(bizAdd,message); }); is it possible? thanks in advance... Hello everyone, I couldn't find anything informative on this subject online. could someone point me to the right direction on how to convert php variable so it could be used in a javascript section. for example I have a php array named $places, it's a nested array and I'd like to traverse through all the elements of this array much like it's done in php =>foreach($places as $place) but this done in JS. in a nutshell how do i convert this variable into a JS appropriate variable. -Thank you When I used toFixed() method on a number, I thought that this method round a number to a specified approximation, but I got a surprising result, the number became string! 15.23689 .toFixed ( 2 ) ==> "15.24" So does it convert the number into string? Here is my code Code: function copy_grid(from,to) { var copy_from = from +"_24_product_cost"; // in this instance from = grid1_White var copy_to = to; var tmp_field = getElementById(copy_from).value; // ERROR: getElementById is not defined } document.product.grid1_White_24_product_cost.value // works as expected but I wanted this to be dynamic. Any ideas? I am making a function where I need to know whether the input is a variable with a string value var foo = "bar"; Function(foo) or if it is a string, wherein it would be the name of an object object = { ThingsInside: function(){code} } Function('object') Code: function Function (object){ if(object is a string){ do this } else if (object is a variable with a string value){ do this } else{ do something else } Because they would be both passed by value, I'm not sure how or if there is a way to tell as they would both just appear as string inputs, right? How can I use a string to select a variable? E.g. Code: function load_menu( menu ) { //Availible menus var login = Array('Login','Register','Recovery'); var settings = Array('Profile','Account','something'); //Menu container ID's var cons = Array('menuitem1','menuitem2','menuitem3'); for ( var i = 0; i < cons.length; i++ ) { document.getElementById(cons[i]).innerHTML = menu[i] ; alert(menu[i]); } } "menu" is "login". menu[i] should reference the "login" variable and then put one of the values for the login variable array in its place. If you understand what I mean? So if menu is settings then the settings array would be used. Hi all, I am having a hard time on this, can you help pls? I have this code? $("select[name=objeto"+contcheck+"]").change(function(){ $("select[name=titulo"+contcheck+"]").html('<option value="0">Carregando...</option>'); where contcheck is a counter, so a number. It does not work at all, any help how to concatenate string and variable like this: objeto1 objeto2 objeto3 .... and so on. Thx. I am just starting to learn javascript and was hoping someone might be able to answer my question: var months = "April Showers"; document.write('<p><img src="ad11.jpg"); document.write(" alt="); document.write(months); document.write(">"); document.write(months); How come when I display my output to a browser without the presence of the ad11.jpg file, only the first word (April) in the text string "April Showers" is dispayed where the .jpg file is suppose to be...but the last line displays the entire text string. Hi All, Am new to Javascript but fluent in C++ and other languages, I have a query, i made a global variable to hold string information, can the value of this string be assigned to a form input field value? I mean in the 'default value sense' I am just wondering if there is any syntax to accomplish this. EG in my javascript i have the string nameVal; It is a global variable, i would like to know if it is poosible access its value for use in the line below shown with italics, or is it basically always a case of 'type the value in manually yourself' and then rely on events functions to update the field thereafter? Code: Name: <br><input type = "text" name = "nameField" size = "50" value = my string val here onChange ="this.value=storeVal(this.value, '0')"></input></br> Is this possible? Code: String.prototype.trim = function(){ return this.replace(/^\s+|\s+$/g, ""); } var myStr = " Hi what's up? "; myStr.trim(); alert("{" + myStr + "}"); //will result in the original string, not the trimmed version It's possible with numbers: Code: var myNum = 10; myNum++; alert(myNum); //11 I'm sure it's just a syntax problem. You can ignore most of this function because most of it works. The part I'm asking about is the "coordinates" variable 4th line from the bottom. The "office3" variable is a dynamically populated office number. I have the office numbers all defined as variables somewhere else but since I can't just name the variables as numbers I had to put a $ in front of them. Basically I'm trying to call the office number variable, $1656 for example. So "coordinates" is meant to be equal to "$+the chosen office number". Problem is coordinates is coming up as literally "$1656" instead of the value of $1656. Sorry if that was confusing, can anyone point out the problem? function display(name3,office3,officePH3,mobile3,email3) { var instruct="<span class='style4'><strong>"+"LOOK FOR THE FLASHING COMPASS ROSE ON THE MAP"+"</strong></span>"+"<br /><br />"+"<span class='style4'><strong>"+"HOVER ON A PRINTER TO VIEW ITS INFO OR CLICK TO MAP IT"+"</strong></span>" var info_output="NAME: "+(name3)+"<br /><br />"+"OFFICE: "+(office3)+"<br /><br />"+"DESK PHONE: "+(officePH3)+"<br /><br />"+"MOBILE: "+(mobile3)+"<br /><br />"+"EMAIL: "+"<a href=mailto:"+(email3)+">"+(email3)+"</a>"+"<br /><br />"+(instruct) document.getElementById("info").style.visibility="visible"; info_text.innerHTML=info_output document.getElementById('iframe_container').style.overflow='auto' document.getElementById('viewer').src=('Location_Files/')+(office3)+('.htm') var coordinates='$'+(office3) document.getElementById('compass_rose').style.top=('200') document.getElementById('compass_rose').style.left=('200') document.write(coordinates) } Hi, I have a javascript program that currently takes the contents of a *.txt file and converts it to a string-type variable using a hidden iframe. For my pruposes it would be much nicer to read a *.csv file instead, however the method I'm using creates the "open/save file" pop-up window. All files are client-side and in the same folder on one computer; this is NOT server-side or internet-based. It is simply javascript used in an HTA file as programming code. The *.csv does not need to be edited, just read. I need to know how to convert the text of this *.csv file into a string variable. I have heard of using "xmlHTTPRequest (AJAX)" but am not familiar with how to use this. Any advice or code would be greatly appreciated. Hey, I'm looking for a way to get a variable from a parent window in a child window. I'm aware that you can write the variable to a hidden field and then get the field's value in the child window, but I'm looking for a cleaner (all JS preferable) way of doing this. Something like this, but I believe this is an out-dated solution: Code: var str = window.opener.str; alert(str); Any solutions? I need to declare a variable (astString) and initialise it with a string of asterisks. astString needs to be the same length as another variable (otherString). otherString changes it value regularly so I think I need to use the .length property in some way but I can't see how! This should be simple but it's eluding me completely. Hello, I am trying to update an iframe when the user makes a selection from a select box. I don't have any trouble with changing the iframe, but when I try to send a varible as a quey string, the variable doesn't pass to the iframe properly. // this is in my header, and it is initiated from the onchange below. // it changes the page fine, but doesn't read the varible "num" // that was passed to the function <script language="javaScript"> <!-- function updatenotes (num) { document.getElementById("desc").src = 'iframe1.cfm?dec=num' } //--> </script> // this is the select box that initiates the function from onchange // for simplicities sake, I hard coded 3 options, but in reality, // these options are ever changing <select name="Description" onchange="updatenotes(this.options[selectedIndex].value)"> <option name="">Select a project</option> <option name="2" >project2</option> <option name="3" >project3</option> </select> Any help you can offer would me ver appreciated. thanks I have strings's that are causing problems when being sent to a PHP script via JavaScript. (not all of it is getting sent) i.e. This is someone's line of text & it's rather long. I wish to convert the whole string to some other format say like the spaces to %20 and and the & to & I think, and so on... Then once the PHP script $_GET's the string it converts it back to the original. PLEASE NOTE: I wish to use JavaScript, not JQuery. I have this function: Code: function SelectedRadio(form, name) { for(var i = 0; i < form.name.length; i++) { if(form.name[i].checked == true) { return form.name[i].value; } } return "Error!"; } Form is a form object, and name is a string of the name of the radio button. I thought it was trying to use the variable name as the name of a field. For example: Code: function OnFormSubmit(form) { SelectedRadio(form, "fruits") } Instead of form.fruits its using form.name. Basically I am trying to use the variable as a string. Is there anyway around this? |