JQuery :: Pass Reference To An Object To Anonymous Function?
Aug 2, 2010I would like to know how to pass in a reference of this to anonymous function so I can access parameters from anonymous. Here is my code:
[Code]...
I would like to know how to pass in a reference of this to anonymous function so I can access parameters from anonymous. Here is my code:
[Code]...
I have just started using the data functions in jQuery for keeping track of a few items on the client. The user can click on links, which call a function that updates the display and stored data value.I am storing data as a set of columns, named c1, c2, c3 etc.
I update the relevant column like this
function UpdateCol(column)
{
[code]....
I have a function which controls my interface. If people click on alink with the class 'less' i would like a dive to slide up.My code roughly looks like this:
$
"a.less"
.livequery
[code]....
I have a custom function:
function myFunc(o){
o.css("color","red");
}
and then I have a jQuery event like this:
$("myButton").mouseenter(function(e){
myFunc(this);
});
How can i pass the element to the custom function and then do all the jQuery manipulation from there?
I'm trying to pass an object to a function and not getting the results I need. If I get a reference to the object and pass it like so
[Code]...
I have a problem with understanding jQuery. In my case I have this JS file with following content (see below). This is an anonymous function, isn't it? The problem is this line:
[Code]...
I have been trying to grasp the whole 'Pass By Value/Reference' thing for a few hours now. From what i can make out:
Passing by value will make a copy of the value, pass it as a function argument and the function will store the changes, the original value is not affected. So for example:
JavaScript Code:
var cost = 145;var postage = .3;var a = function() {return cost + postage;} //Using an Anonymous function for this
If you was then to pass the value of 'a' to a function argument it would copy and not change the original value.
If you pass by reference it will change the original value. When you pass a reference to a value through a series of different functions and the value is constantly being changed the change happens on the original value and can be seen outside the function.
The problem is i cannot think of how or why this would be used. I havn't got to develop many large applications so im trying to think of a few situations when passing by reference would be used.
I have a function that i like to move 2 image objects around. (it works with 1)
But im getting errors while im trying to pass multiple object id-s.
I believe example will tell you more. code...
In the following example, I use the function "SetUp(SBox,AObjStr)" to send an object reference to the function "Populate(SBox,SObj)".
Seems to work OK, but it is a 2 step process to assign the JSON objects to the selected drop-down boxes. Fairly easy, but somewhat tedious, to change to fewer or more levels as desired with a common bit of code.
However, what I would like to do is simplify it a bit more ... Is there a way to bypass the "SetUp" function to "Populate" the multi-level drop downs directly? I think what I'm looking for is a way to pass a string in the function that would be recognized as an object (in this case a JSON or other form of array) and be decoded to add options to the drop-down choices, but I don't have a clue as to how that might be accomplished without the extra "SetUp" function!
Code:
<html>
<head>
<title> Passing Object Indirectly </title>
<script type="text/javascript">
[Code]....
Im looking to make work my script on both IE and Netscape. It works
fine in IE, but netscape cant handle "dynamic" variables. I need some
help!
Is there a CORRECT way to pass a string as parameter and then use it
as an object in Netscape? IE does that without problem... and Netscape
seems not able to handle it.. Code:
In a JSP, I try to pass a Java object to a javascript function, like this:
<%
Test test = request.getSession().getAttribute("test");
//Test has a field of lasName, such as test.getLastName() will return "john"
%>
//This is for simplizing. In reality this js codes are in different file such as includeFile.js
<script>
var obj = <%= test%>;
[Code]...
I want to pass Array or Object as parameter in function But can't, Here is my code
var InfoArray = new Array();
for(i=0;i<5;i++)
{
InfoArray['name'] = "ABC";
InfoArray['id'] = "A123";
[Code]....
I want to pass the object to a function that is called with a setInterval, like so:
Code:
function Test(obj) {
divTest.innerText = obj.id;
} function ClickMe(obj) {
itv = setInterval( 'Test(' + obj + ')' , 10 );
}
So when I click a link I want to execute every 10 msec a test. This off course does not work.
//<input type="text" id="s_field" value=""/>
var valid = true;
var div = $("#s_field");
$.post("index.php",{id: 6}, function (data){
[Code]..
When posting data, and getting response need to set valid to false - email is not valid.
1. in function it alerts valid is false
2. outside function it says valid is still true!
even i didn't wrote var valid = false;, but valid = false;I need to set Global "valid" variable to false.
For a site, I am making a listing object. What it does, is it fetches rows of data from a serve using JSON. The object has a method called loadlist.to print out the data it now does something like this:
str="";
$.each(jsondata,function(){
str+="<tr>";
[code]....
I am doing in a loop
element = xGetElementById(obj.ID+i);
position = element;
I need this several times in my script and I am sure it createst quite a lot of overhead. And I would like to pass xGetElementById(obj.ID+i) into an element array. like:
element = new Array();
element[i]=xGetElementById(obj.ID+i);
So I can call back element[i] etc in my script by saving some overhead BUT (there is always a 'but' in my posts ) then:
position = element[i]
does not give anything.
Any clue? Is it possible?
I have been struggling with a form wizard all day. I'm using jquery stepy (form wizard) along with validation plugin. To cut a long story short, my first step is to get MySQL connection from form controls details. On submit ('next' button) a check is made on an empty hidden control ('hid').
rules: {
hid: {
required: function(){
return checkDBData();
},
messages: {
hid:
{required: 'SQL not available'},
...(etc)...
So, if the function checkDBData passes, false should be returned, so that the form can progress to the next step. If the connection details fail, true is returned so that an error msg is posted.
Here's the checkDBData function:
function checkDBData(){
var host = $('#mysql_host').val();
var username = $('#username').val();
var password = $('#password').val();
var dbname = $('#dbname').val();
$.post("install/sqlcheck.php",
{"host": host,"username": username, "password": password, "dbname": dbname},
function(msg){
if(msg.required == false){
return false;
}else{
return true;
}},
"json"
);
}
The return values don't find their way back to the rules. However, if I hard code false and true to the function...
function checkDBData(){
var host = $('#mysql_host').val();
var username = $('#username').val();
var password = $('#password').val();
var dbname = $('#dbname').val();
$.post("install/sqlcheck.php",
{"host": host,"username": username, "password": password, "dbname": dbname},
function(msg){
if(msg.required == false){
return false;
}else{
return true;
}},
"json"
);
return false; //or return true for testing purposes
}
This works. I assume it's due to the asynchronous nature of the ajax call.
I'm having trouble with something that I can't explain outside of an example. Code:
Code:
$js_info_tabs = json_encode($valid_array);
$script = <<<JAVASCRIPT
<script type="text/javascript">//<![CDATA[
function changeTo(id) {
[Code]....
I have the code this way in order to consolidate it since I would prefer to do that instead of checking the selected ID and manually checking against all possible IDs (which works flawlessly, it just takes up about 5x the lines and is not modular). What I have above also works, but there is one fatal flaw:
It seems like the anonymous function that is the onclick for each unselected element becomes "return changeTo(tab + '_id')", but I don't want it to be that. I want the argument to actually be what tab is instead of the variable.
What ends up happening is that after changeTo() is called for the first time, any element you click will result in the last element being the selected one, as if it's using the final value of tab as its return value.
This doesn't make any sense, though, since tab is local, and deleting it before the function exists doesn't work. Deleting elem at the end of the for loop doesn't work. I honestly don't understand what's going on or why it doesn't set the new onclick value correctly.
Basically I just want changeTo(tab + '_id'); to turn into changeTo('MYID_id'); instead, but it simply doesn't do that and I can't figure out a way how.
var name = "good";
load_image( name );
function load_image( name )
[code]....
I've tried giving addEventListerner an anonymous function
I have several functions with code along the lines of:
var xmlDoc = requestXML("ajax.asp?SP=SelectRelatedTags&tag=" +
array[i]);
The requestXML() function includes the code:
var xmlDoc = null;
http_request.onreadystatechange = function() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
xmlDoc = http_request.responseXML;
} else {
alert('There was a problem with the request.' +
http_request.status);
}}};
http_request.open('GET', url, true);
http_request.send(null);
return xmlDoc;
However, the last line (the return) executes before the readyState
reaches 4. How do I return the xmlDoc to the functions only once the
xmlDoc has been assigned? I tried putting the return statement in a
while loop with the condition that the readyState must = 4 - this
worked, but makes the browser popup a message saying the script is
slowing down the system.
I did search the forums but couldn't seem to find anything on this specifically. I basically need to pass a key event and a 'name' to nameCheck() after 3 seconds. This works fine in Firefox but Internet Explorer gives the error: Member not found. I'm more of a PHP guy than a JS one
<input type="text" onkeyup="nameCheckTimer(this.value, event)" value="" />
function nameCheckTimer(name, evt) {
setTimeout(function(){return nameCheck(name,evt)}, 3000);
}
function nameCheck(name, evt) {
//need name and the key event to be available here. I have code to handle the key codes which works fine
}
I'm working with nested functions and trying to pass a 'this' value to an anonymous being used in an assignment for an event listener.So, this should plop a button inside our DIV and when clicked I'd like it to run the alert-ding; unfortunately it seems to want to run the function as defined under the buttons object which doesn't work out too well.
View 3 Replies View RelatedI'm new to jQuery and Javascript overall, I have searched the internet to make use of jQuery instead of the HTML's iframe tag. My problem is links inside a .load file, I want them to refresh the box on the index.php file, not the file itself (in this case the links are in blog.php)
Here's everything I can provide with:
Files:
"index.php"
"blog.php"
In my index.php file I have this script to make my index.php links open the required file in my div box.
"index.php"
<script language="javascript" type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#html").load("blog.php"); // shows the blog.php when I first enter index.php, which I want to have
$(".link_click").click(function(){
$("#html").load($(this).attr("id"));
});
});
</script>
Here's "index.php" link:
<a class="link_click" id="blog.php">Blog</a>
Here's my div box in "index.php" where I show the information within the loaded file:
<div id="html"></div>
All this works, but here's my problem, I have multiple links within "blog.php" which I want to make "index.php" to refresh the "index.php"'s html div. Is there some kind of way to edit the "blog.php"'s script to make it "index.php" the parent or reference?
"blog.php"
<script type="text/javascript">
$(document).ready(function(){
$(".link_click").click(function(){
$("#html").load($(this).attr("id"));
// Need to change this(?) to make it reference the index.php's html div box
});
});
</script>
I know just enough javascript to be dangerous, I created a 5 star rater for pages, which is set up something like this:
Code:
var starRater=function(id){
// get latest rating info from server, write into "id" div, etc
}
//later in code...
var rating=new starRater("rating");
Over the course of development I added a comment section, page visit count and so forth, and ended up with redundant code and a lot of calls to the server. I thought instead I would make one initial call and then initialize the elements with the information returned.
To be able to call the initialize function on these elements, I need some reference to them. I could call them directly, as in the example above I could call rating.init(), but I'd have to know what variable name was given to it. Instead I was thinking I'd pass some sort of reference to the object, but that doesn't seem to be working.
[Code]...
In the code above I get undefined for raterElem.testVar. Obviously I'm missing something. What am I doing wrong?
I have a Class name Merkzettel.
[Code]...
and addClickEvent sets the onclick attribute of above mentioned DIV. and in addClickEvent I am explicitely mentioning the name of class object. This means every time I create a Variable with another name I have to Change this function also.
On the click of a table row I want to call a function and pass a that particular table row as a table row object to a function. I was wondering how I would do that? And also if I could grab the number of that table row as well.
View 3 Replies View Related