JQuery :: Function Runs Before HTML Updated By Ajax
Aug 21, 2011
Problem in the timing of the script. The problem is that when I try to get an id of an object that was added by ajax, the script doesn't recognize it. The html:
<select id="categories" name="categories">
<option value="3">aa</option>
<option value="43">bbb</option>
</select>
When I load the page, there is this script that get the value of the #categories and use ajax to fill another select and in the same ajax, I load images by another function using the new select input that was created:
function fill_subcategories(){
parent=$("#categories").val();
$.ajax({
type: "post",
url: "ajax/sub_galleries.php",
data: 'parent='+parent,
success: function(data){
$('#sub_categories').html(data);
}});
show_exist_imgs()
}
This fills this div:
<select name="sub_categories" id="sub_categories"></select>
Right after filling the #sub_categories, I use another ajax that get images of the new id of the #sub_categories, and here I get the problem.. the js:
function show_exist_imgs(){
g_id=$('#sub_categories').val();
$.ajax({
type: "post",
url: "ajax/show_exist_imgs.php",
data: 'g_id='+g_id,
success: function(data){
$('#exist_files').html(data);
}});
}
This script doesn't recognize the id of the new $('#sub_categories') select input.. why is that?
I've got an array of names, and one ID. I need to run an ajax call using the ID and each lastname, until I get a successful hit on the ajax call. I can't quite figure out how to determine if the function that runs the ajax call has succeeded or not, it always returns false for me... Here's the code for the loop:
I have to save the state of a form in a var before submitting it with the whole html, but if I alert the var, I get the original html without the updated input fields.
Nutshell version: I need to fire off a javascript call whenever an ASP.NET UpdatePanel is updated, and I'm not sure how to do it. Detailed version: I have an ASP.NET page that has several UpdatePanels. Some of these are in my own code and I have access to, some are used by third party controls (e.g. ReportViewer) and I don't have direct access to them.
My website also uses jQuery Mobile to render the controls in a mobile friendly way. The problem I'm having is that whenever something in an UpdatePanel is updated, the newly updated contents don't get re-parsed by jQuery Mobile, and so they revert to their original style(s).
[Code]...
The problem I'm having is that I can't figure out how to make that happen. document.Ready() doesn't refire on an AJAX update. I've tried using $('div').live(),$('div').load(),$('div').change() and a few others (I am adding these to the Master page for the website) but nothing seems to fire off when the DIV updates.
I have created some code that alerts me the contents of all the child divs inside a main div
function CheckEventLayout(){ //check all divs in area and resize overlapping divs var RunOnce; if( RunOnce != true ){ var StartTimes = new Array(); var EndTimes = new Array(); var i = 0; $("div#day-view-overlay").children("div.day-view-appointment").each(function(){ var DoOnce; if( DoOnce != true ){ alert($(this).html()); ..... CheckEventLayout();
The problem is this code is on a page that is loaded via post and if you go off the page and then back onto it jquery seems to attach the function again so it runs twice. So need to unbind this function before the script runs again.
If this search function is included in an include file with other functions it will run more than once if you click another function first, then come back to it to do another search.
For example if I click the next page function, then decide to click for a new search it runs more than once: Next page function:
Code: $(document).ready(function() { $('a#nextpage').click(function() { var page = $(this).attr('page'); var searchval = $(this).attr('schval'); var maxpage = $(this).attr('maxpage'); $.post("findowner.php", { p1 : searchval, page : page }, function(data){ if (data.length>0){ $("#ownerIDdiv2").html(data); } }); }); }); //end
However, if I put the first search function in a separate include file all works perfect. Why it runs multiple times if it is grouped among other functions?
I currently have a timer that counts down and what I would like is when the times runs out it then displays text or html (answer to question). I currenlty have the timer counting down and a seperate js show answer link that will show the div.
my AJAX is working in FF and Opera just fine, As in it repeats the function whenever the button is clicked, but in IE the first click works, but then it doesn't repeat...I've been searching around form some fixes, and found quite a lot but none of it seems to work [as you can see i've tried adding '.live' but still nothing]
I have a function which is called twice. It allows the elements of an array to be set to a different color, successively:
function ln8 (arrayA,color,current) { var arrayB=(typeof arrayA == 'string')? arrayA.split(',') : arrayA; var line = document.getElementById(arrayB[current]);
I have a setup where when the user changes the item on the dropdown, the price is updated by ajax.I want the price to pulsate with jquery ui after the price is updated.How can I do this? Here's my javascript:
Code: <script type="text/javascript"> function getxmlHttpObj() {[code]....
function update(value1){ doAjax("behind_scan.php" , "id="+value1); }function doAjax(url , str ){ xmlhttp=GetXmlHttpObject(); if (xmlhttp==null){ alert ("Browser does not support HTTP Request"); return; }url=url+"?"+str; xmlhttp.onreadystatechange=stateChanged; xmlhttp.open("GET",url,true); xmlhttp.send(null); }function stateChanged(){ if (xmlhttp.readyState==4){ //document.getElementById("txtHint").innerHTML=xmlhttp.responseText; //alert(xmlhttp.responseText) document.forms.myform.scanner.value = ""; document.forms.myform.scanner.focus(); }}function GetXmlHttpObject(){ if (window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari return new XMLHttpRequest(); }if (window.ActiveXObject){ // code for IE6, IE5 return new ActiveXObject("Microsoft.XMLHTTP"); } return null; }
This pages calls a function on a separate php page to run 2 mySQL queries, the value must be put in the text 3 times in quick succession before the database is altered. I've tried all the other functions and they seem to be fine, AJAX is my weakness but I need it for the main functionality of my website. I need this to work.
question: if you want a link which simply runs a js function is it acceptable to have no href? the problem with this is the cursor doesnt change when you hover over, but if you put # as the href it jumps to the top of the screen which is sometimes unacceptable. what it the best solution to this? granted you could do event handling behind the scenes and just intercept the clicks and prevent the href from going anywhere, but sometimes you just want to stick an onclick on the anchor tag!
i am wanting to develop a ajax application a simple one i found using an ajax div refresh in a project i am currently working on but i have never done such a thing where i change the div of the submited contenthere is a copy of my ajax and html code
And I have developed an Ajax based search module that primarily does the following:
Lets the user select a Country and then loads via AJAX a drop down full of areas and then when an area is selected loads another drop down menu full of towns.
The Ajax functions fine and it all looks great in Firefox. But there is a problem with the background in internet explorer.
When the new <select> is loaded the background stays white in a small strip. Does anyone have any experience with this bug?
I have a self project I am exploring. I would like to play a simple sound file each time a function is run. The function runs every second, so, basically, I am just trying to get an audible click sound file to run every time the function runs. I do not know how to play a sound file thru javascript. Here is the code file thus far...
I created a page (index.html, including the embedded javascript) with a div loaded by an external html content. But in this new content the click function I defined in the index.html page does not work in the new content. Then my question is: do i need to include all javascript in the external html content?
I have an image rotator that uses nested intervals. The outer one switches the images, and the inner one preforms the fade. The problem is is that the display is not updated during the interval function, and so, the fade is not displayed; the new image just appears- no fade. Is there anyway to force the display to update during the interval? Here is the code:
I am new to this discussion but hope you would post reply for my query and encourage me to keep in touch with this discussion. Well here is my problem. I have made an edit in place form in which we can add and remove the elements. I have used jquery.jeditable.mini.js and jquery.duplicate-remove.js plugins for edit in place and add and remove action. I have live() function to access the dynamically ganerated elements like this. $(".addressDiv span").live("mouseover", function(){ clickable function here...
I'm making a website at [URL].. and I'm trying to create a menu using Jquery 1.3.2. Anyways, if you look at the tabs in my header, they have an effect but it only works once. After I mouse over the same tab a second time, they do not animate. I also have a similar menu at [URL].. You may notice the second menu also will fade to a darker gray. If i copy and past that code into my drupal block, it will still only animate one time. Do i need to include something extra because its version 1.3.2??? I also have another Jquery plugin below the header which is called a S3SLIDER. I'm not calling the jquery script up more than once.Here's the code for the Jquery menu at adc-design.com:
Thought I might gives this a go instead of the usual flash. Installation went fine, but the images runs a bit inconsistently? Images are 30-50kb which shouldn't be a problem. [url]
I have just started learning JQuery and have a doubt in the below code. $.get('myhtmlpage.html', myCallBack);The doubt is should the 1st parameter of the get function be a HTML file or can it be a unction name?
Is there a way to catch when a div content is updated through javascript? I update a div content through rjs and I need to call tablesorter every time the div is updated.
I have a number of methods on my page which are instantiated on page load (such as an image zoom method). How can I force a reinstantiation of this method when I update the DOM? For example I will have a list of Images that magnify on mouseover. I then change this image (and use the .attr method to substitute new arguments). However when I mouseover the method only shows the previous instantiation from when the page first loaded.
I'm using jQuery AJAX to request html pages so no refreshes will be needed when someone clicks an menu item. But the things is, I'm currently requesting HTML pages with no doctype, head and body tags.. just only the content (with just h1 tags and tags like that). The problem is that when I inject that into an div on my main page the css doesn't get applied to the injected content. It does set the text color and makes H1 an heading but it doesn't apply specific things like h1:first-letter. So I'm assuming it only applies general css properties like the text format I applied to the body of the main page. So the question is how can I make the css apply to the AJAX requested and injected content? Should I include an css file to the file I'm requesting? Should I use some jQuery function to apply it after the injection? Or .. ?
My problem involves input elements not being visibly updated after $('#selector').val(...) and non-working datepickers (the hasDatepicker class is attached, but the datepicker control doesn't fire up when the input gains focus).
I have a calendar, based on fullCalendar and the fcalendar bundle which chains the fullCalendar to a datepicker and a MySQL/PHP backend.
Now, the base functionality of datepicker works, but it is not sufficient; I need some more attributes for my calendar entries, including date information (including the start and end values, since they must be editable, rather than changing them via drag'n'drop only). Since the html of the form is somewhat complex, it is loaded from a .php page, which is a major change related to fcalendar, where id (#myGeneratedEditor, in my case) is built using HTML code in formStart and formEnd
Here is some code:
The summary of problems: the values which are attached via .val() don't show up the datepickers (one so far) don't / doesn't show up