JQuery :: Selecting Index Of Currently Clicked Item From Inside Another Element?
Sep 18, 2010
I'm trying to find the currently clicked index of .accordion_trigger from within another element.
When inside the .accordion_trigger click event I can simply do the below to get the current clicked index:
Code:
$('.accordion_trigger').click(function(){
var index = $('.accordion_trigger').index(this);
}
return false;
});
Obviously this doesn't work when called from within another element. I understand that 'this' is part of the problem but can't seem to find a way to form the code in such a way for it to produce a valid result. Thus far I only get -1 or 0.
When .accordion_trigger is clicked it has an "$(this).toggleClass('active').next().slideDown();" applied so in theory I shold be able to search for which of the .accordion_trigger's are "active".
I've also tried doing this via the below method but to no avail:
Code:
var current = $('.accordion_trigger');
current.each(function() {
if ($(this).hasClass('active')) {
It's basically just a table containing a message, who wrote it and when.I'm trying to build a function that filters what types of posts are visible in the newsfeed. So by clicking a button I want to be able to filter out the "message"-post or the "sale-alert"-post.Only way I can see which type of post it is, is by looking at the image source in the table. So depending on what that is, I want to set the table to display:none.
But I've been looking into the jquery selector a bit but I can't make it work. I've tried with .each(function and child selector...
I have an image gallery where every image has an index number ("data-index"). How do I access that index number when the image is "current" and then add +1 when it's "next" or subtract -1 when it's "previous"? Below is part of my code.
I am trying to find and get the current index in a group of elements like so: var index = $(attribute).index(this); However, this returns -1 for all selectors I pass to it in the variable. Why is this? Is there another way to find a div's position within its container easily?
This one should be easy. In fact, it was working for a long time as far as I know. Then I upgraded from jQuery 1.4.4 to 1.7.1 and a few things stopped working. (This is according to my client; it's possible it's been broken for a long time.)
So a customer logs in and sees his/her registration information. Name, address, phone number, etc... It gets this information from a MySQL database. For the customer's home address, there's a dropdown for the state (MA, NH, etc...) Rather than displaying the default specified in the HTML code, I have a bit of jQuery code that is supposed to change the dropdown selection to the user's home state as stored in the MySQL database.
Unfortunately, nothing happens. It rather than changing to the user's home state, it just displays the default state (AL, the first alphabetically).
[Code]..
I verified that $row['state'] contains valid data by outputting it as HTML on the page (my test data outputs "MA"). And I'm reasonably sure that this used to work in the past.
I have an accordian list much like the example here : Say for instance i have page links under the heading 'Section 2' of that demo.How can i make it so that when you visit a page from these links 'Section 2' is now active (by that i mean expanded, instead of the first item as default)I am looking at this information provided on the same page , but it's not really making sense to me.Selector for the active element. Set to false to display none at start. Needs collapsible: true.Code examplesInitialize a accordion with the active option specified.
$('.selector').accordion({ active: 2 });
Get or set the active option, after init.
//getter var active = $('.selector').accordion('option', 'active'); //s
I am missing something here but this is what I want to do. I want to select a checkbox as such
$('chkRequired'); Easy enough. But I want to then use $(this).attr('checked','true'); and then $(this).show(); and then $(this).next().show(); How can I formulate that into something like:
I have two text fields one is TECH field and another is JOB NUMBER... If I type a number in the tech field and If I select a number from the autopopulated/autosuggested list of tech number(which is queried from the database) it should display a dropdown list of JOBNUMBERS associated to that particular TECH number. The TECH is not a Primary key in database)
This is the code that I have to fetch the and the tech number will be the autosuggest field for which I have used JQUERY..
If you click on the second row you'll notice that the text doesn't change, but clicking on the first row changes that row's text. I'm trying to make it so when you click the Edit Class link the text in that row gets changed, but as my selector is now it always selects the first table row - not the row clicked on. I know my selector isn't quite right anyway (".parent().parent().child()"), I'm sure getting that fixed will get my row-clicking issue fixed as well.
I'm trying to create a horizontal dropline menu out of an unordered list. List items can have one unordered list child. I want to add a click event on all li:has(ul) elements. The pseudo-algorithm I'm thinking of is as follows:Find all other li:has(ul) elements on the page.For each, check if they are displayed.If displayed, hide it.Then, if the clicked li is displayed, hide it. Otherwise display it.Only one li:has(ul) element should be displayed at a time.
What I have doesn't work because in the .each() function, the clicked li is also evaluated. So, if the clicked li is already visible, it gets toggled inside that function and then toggled again outside that function.
i have a menu generated by a list with nested lists. i want the parent link to stay highlighted when the mouse hovers over the sub menus. because those sub menus are also generated by jquery (qtip), CSS alone won't do it (triedul.topnav li:hover a {background-color: #F00;}).is there a way to do this using jquery?
Hi, i'm creating my own image gallery using jQuery, and there is a set of thumbnails at the bottom. The thumbnails have been put into an array, using jQuery, but what i am trying to do is to return the position of any clicked thumbnail in that array. i.e. when the 3rd thumbnail in the list is clicked, return 3, when the 5th thumbnail is clicked return 5 etc....
This in turn will dictate which item in another array (the main images array) will be displayed.
I have been working on a dropdown menu using Clarklab's Tutorial:The only problem is that this tutorial only shows how to create one dropdown instance.It's in use here:My issue is that when I click on one menu item, all the submenus open up. Is there a simple fix that I just haven't figured out yet?My instinct is to give each ul it's own id, but I'm not sure how to direct the jquery in the header to work with individual elements.
So, I have this menu set up that reduces the opacity of all but the hovered link. It works fine, but it's a video playlist, and I realized that I need to make sure that this style persists after the link has been clicked.I can figure out how to add a class on click, but how to combine the two? How can I set it up so that, if the link doesn't have the class .selected, the opacity will be at 0.3. Unless, of course, it's being hovered over.I'm in a little over my head here. Here's what I'm working with:
I have a div A that when I mouse hover creates and appends in run time another div B inside with an higher z-index. This new div B is a info div that I want to show within the limits of the div A. When I mouse out div A, the div B is removed. The problem is that when I mouse hover the B div, it runs the mouse out event of the div A, and cleans the div B, and I want to maintain it while the mouse is still on the boundaries of the div A! Is there a way to avoid the mouse out event of the div A when the mouse is on top of the div B? IS is necessary to calculate the coordinates of the mouse and check if it is in the boundaries of the div A? By the way, I am using live("mouseover",fn) and live("mouseout",fn) to handle the mouse hover events.
I currently have a website with a number of menu items, many of which result in the main site being redisplayed but with an iframe being inserted somewhere within the middle of the page. The iframe is initially loaded as hidden but there is a JavaScript 'onload' routine which calculates the height of the iframe and then makes it visible in order to avoid the iframe showing scrollbars since the content of the iframe is variable.
Roughly, things look like this:
Menu button: reloads main page and passes one or more parameters, e.g. [url]
Then elements of the main page including the menu are displayed. Then, if specified by the relevant 'func' parameter the iframe is shown using code similar to the following:
This works fine but I was wondering whether there is any way of using jQuery such that I don't have to reload the page when the menu item is clicked. In other words, you'd click on the menu item and the relevant iframe would be inserted within the middle of the website, automatically sized.
I currently have two html select list boxes side by side on a form, two buttons in between the boxes to move items from list box to the other, and a javascript function to control the movement of the items from one box to the other. Here is the javascript:
function MoveSelected(from, to) { var lstFrom = $(from); var lstTo = $(to); for (var i = 0; i<lstFrom.length;i++) {
Since this list include every country in the world (a long list) I'd like to offer users the a few text links along the side that select popular countries within the list without having to scroll through the huge list ... click here to select United States, click here to select Japan, etc.
I want to know the index of the option that a user clicks on in a multiple-select object (regardless of whether he selected or deselected it). This seems fairly simple but I can't seem to figure out how to do it. Does anybody know how to do this?