I have a <div> containing 3 buttons. The buttons have id's like this: Button 1: btnFoo Button 2: btnBar Button 3: btnBaz
I'd like to add an click event to each button to call a function named [button ID]_click(): i.e. btnFoo_click() btnBar_click() btnBaz_click()
So far I have this: $("#divButtons button").each(function() {. $( this ).bind("click",function(){ eval(($(this)[0].id) + '_click()'); }); }); This works but is there a way without having to use eval and still utilizing the lovely .each function?
I'm new to js and jquery. I need to get access to select forms which are named dynamically. I have no problem when named statically, so this works fine:
I've got a Web-based App. that I've developed in 1680 x 1050 and I have some users in 1280 x 768, etc. The higher resolution is nice for this App., because it gives me more screen real-estate to take advantage of the newer rectangular screens. But, when a user in 1024 x 768 displays the screens, a good portion of the content is outside the viewable area of their screen.
Is there a clever way to set up my site so that my web pages will look good in most modern resolutions; i.e. 1024 x 768 and above?I know I can re-work things to display at a minimum common denominator, kind of thing; or I could have multiple copies of my site at different resolutions (which I really don't want to do) and do js resolution-sniffing.But, I'm wondering if there's a better way. I do have a lot of AP elements and I'm not certain that making the pages liquid with percentage widths, etc. will solve this particular problem.
$(function () { $('select[id$=lstOwnership]').bind("change keyup", function () { if ($(this).val() == 2) {
[code]....
Based on this logic, I'd like to show/hide the ID tag based on the values of a drop down list and another textbox. They both work fine but the problem I'm having is that each can cancel out the other. For example, if the 'txtPercentOther' textbox value is 3 and the drop down item has a value of 2, the ID tag is shown which is fine. But if I were to change the drop down list value to something else, it'll hide the ID tag, even though the other text box still has a value of 3 which means the ID tag should remain shown. I'm wondering if I maybe need to name my function so I can call the other in each.
I've been using jQuery for some time now but this is the first time I've run into something odd. Currently I'm developing a Theme for Concrete5.4.0.5, which automatically includes jQuery 1.4.2 - meaning, I can't use any other version of jQuery, that said: here is my problem.
I've got the following HTML (heavily simplified): <nav id="mainNav"> <ul> <li>Home</li> <li>Text <ul> <li>Subnav</li> </ul></li> <li>Text <ul><li>Subnav</li> </ul></li> </ul></nav> <section id="contentWrapper"> ... </section> And the following JS-jQuery Code (original, not simplified): function hoehenAngleichen(){ if($('#mainNav').height() > $('#contentWrapper').height()){ $('#contentWrapper').height($('#mainNav').height()); }} $(window).load(hoehenAngleichen); /* works fine until here */ $('#mainNav li').bind('onmouseover onmouseout', hoehenAngleichen); //will not trigger
I want the "hoehenAngleichen" function to be triggered whenever someone is hovering or leaving a li-Element. But this code seems not to bind the events with the named function properly.
I have ONE page which consists of php, html, and javascript, all on the same page. I have 3 different listboxes on a form, their named id's are: "strike", "grapple", and "strength". I have a span tag named id as: "pa". I Have a variable which is constant and named $totalValue and its vale is: 30, I have another variable named: $availableValue which will get its initial value from $totalValue. What I want to do is this, a user will choose his/her first list box. When the uses clicks the arrow on the listbox it drops down filled with values to choose from, these values come from the $availableValue variable and should be displayed as: 1,2,3,4,5,etc,etc,etc, after the user makes their selection the value of $availableValue is decreased by the amount of the user's selected choice and the value of the $availableValue is displayed on the html part of the page in a span tag.
The user will then choose his/her second listbox, upon clicking that arrow the listbox drops down displaying the REMAINING values from $availableValue variable and displays them as: 1,2,3,etc,etc,etc, after the user makes their selection the value of $availableValue is decreased by the amount of the user's selected choice and the value of the $availableValue is displayed on the html part of the page in a span tag. The user will then choose the last listbox, and upon clicking its arrow the list drops down with the LAST REMAINING values from $availableValue and will be displayed as: 1,2,etc,etc, after the user makes their selection the value of $availableValue is decreased by the amount of the user's selected choice and the value of the $availableValue is displayed on the html part of the page in a span tag.
The user should be able to choose which ever listbox he/she wants as their first listbox. So for argument's sake lets say the user chooses listbox "grapple" first, but of course the user could have chosen any of the 3 listboxes first, but he/she choose "grapple" first. The "grapple" listbox should fill with values 1 to 30, ex: 1,2,3,4,up to 30, the user selects value 5 from "grapple", the $availableValue variable will decrease by 5 and the value of $availableValue is displayed in a span tag. The user then chooses listbox "strength", its values should be filled and displayed with values from 1 to 25, the user selects 8 from "strength", the $availableValue variable decreases by 8 and the value of $availableValue is displayed in a span tag. Finally the user selects listbox "stamina", it listbox displays the values from 1 to 17, the user selects 17 from "stamina" and the $availableValue variable decreases by 17 and the value of $availableValue is displayed in a span tag. All this should happen BEFORE I submit the form via php code.
The code below, including the html, is ALL on one page named: createfighter.php <?php $totalValue = 30; $availableValue = $totalValue; $action = $_REQUEST['action']; $strike = $_POST['strike']; $grapple = $_POST['grapple']; $strength = $_POST['strength']; ?> .....
I've recently started developing javascript using jQuery and so far I'm really enjoying it.Being a professional programmer (mainly C, C++, java and python) there is one thing that's been puzzling me regarding variable scope and unnamed function declarations. Let me exemplify:
------------------------ var sum = 0; $(xmlobj).find("item").each(function(){
I was using jquery-1.2.6 and now, I started to use jquery-1.3.2, and I get my first "difference": when I use the wrapped set operation $ (':input[@name=submit]') with jquery-1.3.2 it returns all input fields, but if I use it with jquery-1.2.6 it returns 0 (as espected). Is it an error with 1.3.2 version?What do you think I'm doing wrong? This wrapped set is used by "jQuery Form Plugin" and, if I have file uploads I get the alert 'Error: Form elements must not be named "submit".' from the function "fileUpload" of this plugin.
I'm relatively new to jQ and would like to determine if a named window is already open. If it is then I want to change focus to that window/tab. The scenario is this. I have a link in App1 that opens a new window to an already existing linked (related) web form in App2. If the user forgets they have that window open in App2 and clicks the same link in App1 as before (to open the related form in App2,) it opens a window that is not the same window as the original window. I need App1 to detect if a window already exists in the browser of the same name and if so, change the browser focus to it.
I have a working example of jQuery validate working in the link below. The newsletter checkbox is required and working. However, the "colors" checkboxes are all named as an array ( ex: name="color[]" ), and so the problem lies in the validation code, where it uses the name of the element to require elements ( ex: newsletter: "required" ).
Filename is just the extensionless web page name e.g. "Addresses"
Problem is of course every window popped up will replace the previously popped up window and in the case of a popped up window popping up a window the new window will just replace the calling window.
(Please, no lectures on popping up windows, I need to in my particular case and here I'm just stripping it down to the bare problem for claritie and simplicities s sake)
I'd be happy if I could create a new window handle each time so that all my popup windows will be unique. If it could be the filename that would be fine e.g. instead of the window handle variable being "LinkWindow" it would be "Addresses". Is there some way of making the variable I assign the new window to a variable? All I can come up with is somehow having LinkWindow an array of window handles and just keep incrementing it e.g.
LinkWindow[100]; // 100 is more than enough windows for a typical session LinkWindowCount = 0;
I use named anchors to take users to specific parts of a long page. But I want to add some processing and do some things with my nav bar when users go to certain sections delineated by named anchors. I understand that the anchors array creates an element for each anchor in the page when the page is loaded, but how do I identify which anchor is currently being viewed?
Here's some pseudo code:
if (document.anchors.name == "section_B") {
then do this or that
}
But what do I test to determine the current anchor name?
What about using id's instead of names? Can the anchors array return anchors created with id's as well as names? Would this be of any benefit?
IOW, why are there 0 elements named div at the time the <body> element's onload handler is invoked? When can I retrieve this named div from the document hierarchy?
This exercise is necessary since code I have written using the DOM (that works) has to run on God-forsaken browsers such as IE 5.1 for Mac whose support for the DOM is spotty at best.
For each element in the currently loaded markup page that has an 'id' attribute, elements can be accessed like-
var elem = document.getElementById("foo"); - ("foo" is the 'id')
now i want to implement a shorthand method which can give me the element just by this:
var elem = document.foo; -("foo" is the 'id');
For this , i will have to add properties to the global "document" object for each element in the currently loaded page that has an attribute. These properties should be added when a page is loaded , and should be removed when a page is unloaded..
How can i dynamically add and remove property to an object.
I have a little problem that doesn't seem to be working. I'm trying to access a variable using its string name which is passed when the function is called Code: ie:
// I would call this function like so... a("temp1", othercrap...);
The variable temp1 is set in another script file. I don't specifically know which variable I will be passing to the function a(), all I have is its string representation. I can access the values of temp1 if I specifically call it but I can't seem to figure out how to call it dynamically.
I was wondering if it is possible to target a named anchor in a frame when opening a new window with a javascript function? has anyone actualy been able to do this?