JQuery :: Chain Select Box With Optgroup?
Sep 6, 2009On change of the first drop down i want another drop down list to get populate with optgroup in it
View 1 RepliesOn change of the first drop down i want another drop down list to get populate with optgroup in it
View 1 RepliesIs there any chances some one teach me how to do this... in jquery ?
View 2 Replies View RelatedI have more than once wanted to manipulate the contents of select boxes
dynamically, whilst the boxes contain <optgroup> tags.
Manipulation of a select box containing only <option> tags is fairly
easy and there is plenty of material on the net to assist with this.
However, I have searched long and found the material on the subject of
<optgroup> to be sparse, with a few posts here & there, but basically
you're on your own.
After much trial & error regarding techniques for this, I have a fairly
generic solution, which I decided to share, and the code is below. Two
different scenarios I have come across are (1) altering the contents of
one <select> dynamically depending upon another, and (2) being able
click 'up' and 'down' buttons to alter the sequence of the listing
(whilst keeping each <option> within its respective <optgroup>) I tried
various solutions for both of these which tended to either trash the
screen, alter which <optgroup> an <option> was under or trash the
<optgroup>s altogether.
Both these situations can be handled with the solution here. Basically
I keep the <optgroup>s and <option>s stored in an Array(), and then use
the Array() to reconstruct the <select>.
To use, just manipulate the Array() in memory - which I find very easy
- and then call the function to reconstruct.
I like to build the <select> <optgroup> <option> set using HTML as
normal and then create the Array() with <body as this makes
it usable where javascript is unavailable, rather than have the Array()
as a hard-coded start point. Code:
I'm trying to incorporateRemy's select-chainplug-in into my code, and I'm having troubles. I hopesomeone can take a minute or two to help me. My situationseemed simple, only 2 levels, Products and Programs under each Product. I have the back-end working, so it returns the JSON list of Programswhena Product ID is passed. However, the plug-in keeps failing in the .ajax() function, tripping the error(). It reports a "parsererror", so I know I've messed up something. One wrinkle, I have multiples of the Product/Program pairs on my page, identified as "prod_x"/"prog_x", so I need to dynamically call them. Here is my code:
[Code]...
In a <select> drop-down, the onchange event isn't called when
scrolling through the dropdown using the mouse-wheel and when crossing
over a new <optgroup>.
Using the example below, notice how the onchange event isn't called
when mouse wheel scrolling between A3 and B1, but it works properly
when scrolling between A1 and A2.
E.g.
------------------------------------------
<html>
<body onload="document.forms['myForm'].elements['mySelect'].focus()">
<form name="myForm" id="myForm">
<select onchange="alert('onchange event');" name="mySelect"
id="mySelect">
<optgroup label="Group A">
<option value="A1">A1</option>
<option value="A2">A2</option>
<option value="A3">A3</option>
</optgroup>
<optgroup label="Group B">
<option value="B1">B1</option>
<option value="B2">B2</option>
<option value="B3">B3</option>
</optgroup>
<optgroup label="Group C">
<option value="C1">C1</option>
<option value="C2">C2</option>
<option value="C3">C3</option>
</optgroup>
</select>
</form>
</body>
</html>
------------------------------------------
Is it possible with AJAX chained selects to have one select box on the page and then have another select box appear depending on the selection from the first select box?[URL]Is it possible to hide the 2nd box until the first one was acted upon?
My goal is to start with one box (call it Box 1). Box 2 will then appear. Depending on Box 2's input, Box 3 will appear with new choices. Depending on Box 3's input, Box 4 will appear....so on and so forth until the end goal is met.
When additional boxes appear, I do not want the previous boxes to disappear. If PHP can populate the select boxes, I don't see why it also couldn't insert the physical select box.
I need to display the text selected in the dropdown below the dropdown. I used the script
$("#dropdown").change(function () {
var str = "";
$("#dropdown option:selected").each(function () {
str += $(this).text() + " ";
[Code]....
Its working fine, now I need to display the selected text with its optgroup label.
Info from:
http://www.w3.org/TR/html4/interact/forms.html
I am trying to create a multiple selectable SELECT menu however I also want to have categories in this menu, so the menu might look like:
Category 1
>> Select Option
>> Select Option
>> Category 2
>> >> Select Option
>> >> Select Option
Category 3
>> Selection Option
for example. Now this OPTGROUP would be perfect but it only works one level deep. Can anyone think of an alternative to this, perhaps using javascript which prevents the user from selecting the categories?
I'm trying to have an effect happen after an effect for some other elements has finished.
$(document).ready(function() {
$("#about_div").toggle(function() {
$(".work_divs").slideUp(600);
[code]....
and a couple of variations. I increased the duration to slow it down but the effects occur simultaneously.
I want to try and keep my syntax all encapsulted, but I'm not sure how to go about this.
So I add in some html to a div
$('#slideStage').append("<div id='popupTiming' style='display:none'>" + formatTime(currentCuePoint.time) + ' minutes</div>')
So the resulting html would be
[Code]...
I have a list oF div embedded into one
<div id="main">
<div>item 1</div>
<div>item 2</div>
[code]....
I'm sure a Google search could answer this, but I don't know what it's called, haha. Dot sytax maybe?chain methodsHow do I write a function that can be called like this:
$('p').myFunction().val('the new value');
I played around, tried this:
function myFunction() {
$(this).css({'color': 'red'});
}
[code]....
I've checked Google and searched the jQuery forum and didn't see anything. Is there a way to do the following as I'd like to use the same chain multiple times with with different selectors:
var chain = .attr('value', 'Search Digital Collections').css('color', '#E0E0E0');
My drop down uses an <optgroup label> facility (6 optgroup categories, many values per category).This works fine (when the user chooses a category from the first drop down, a second drop down menu refreshes with the values for that category).HOWEVER, the above system requires me to have every VALUE in plain text on every page. This is no good. It is affecting how the search engines view my page (the text cache version).I want to store these values in a separate file so the search engines do not cache all the values as content on every page.
View 3 Replies View RelatedAn example:
tabContent.css('width', '0')
.css('opacity', '0')
.filter(':eq(0)')
.css('opacity', '1')
.parent()
.find('.one-tab')
.addClass('active')
.css('cursor', 'default');
Now I want to apply the parent of tabContent a width, only if a condition is true. I do this, and works, but I don't consider this is a proper way:
tabContent.css('width', '0')
.css('opacity', '0')
.filter(':eq(0)')
.css('opacity', '1')
.parent()
.each(function() {
if (/*condition is true*/) {
$(this).width(aWidth + 'px');
}
$(this).find('.one-tab')
.addClass('active')
.css('cursor', 'default');
});
Is there a better way instead of using each() which is actually made for loops? In this case there is only one element.
How to pass data down to chain calls of deferred object? code...
View 1 Replies View RelatedI created a dropdown menu using jquery. So when I hover over a button it slides down the menu. Now if I move the mouse out of the menu and bring it back in before it slides up(menu has a lot of items so there is enough time to bring the mouse back in on the menu)over the dropdown menu it starts a chain of slideDown() and slideUp() functions and it does not stop till I move the mouse of the menu or back on the button. Below is my jquery code:
[Code]...
Let's say I have the string "Bob.underwear.drawer.sortBy" which would be the Scope Chain Required to access an object similar to this:
Code:
var Bob = {
underwear: {
[code].....
I'm trying to combine a chained drop down list with the ability for the last selection to show/hide a div. I've researched and found ways to do both individually, but I'm hitting the wall when it comes to combining the javascript.
This is how I'd like it to work:
-- User selects from DropDown List 1.
-- DropDown List 2 options appear based on the selection in 1.
-- User selects from DropDown List 2,
-- Appropriate div is shown.
Here's the Javascript I'm using to show/hide a div:
function showDiv(divID)
{
var div = document.getElementById(divID);
div.style.display = ""; //display div
}
[Code]....
I've seen a variety of implementations around that enable selecting all or no checkboxes by using a checkbox to toggle that choice. However, I'm trying to find a way like this: I have two text links on my page: Select All, and Select None. How can I get those links to call a jquery function to select all or select no checkboxes in my form? As a little food for thought:
<head>
$(function() {
//function for selecting all or none...is there a way to make a single function that passes in a parameter to differentiate between selecting all or selecting none, or do I need a separate function for both?[code]....
I have a php function that list all of the countries from my database as a select option, then based on what the user selects for their country im using jquery to make an ajax call and get all of the states/regions for that country. This part works fine. I'm running into an issues, as when a user login's in to edit their profile, how would I make the select change based on what is in the databse.
[Code]....
I have a ColdFusion page with a select drop down list. On submit, I'm storing the value in a cfparam and trying to use jQuery to auto select that particular option. Currently I'm using :contains but this is unacceptable because it selects the last item that contains the cfparam.
$("option:contains('<cfoutput>#form.company_type#</cfoutput>')").attr('selected', 'selected');
Is there something like this:
$("option").equals('<cfoutput>#form.company_type#</cfoutput>')").attr('selected', 'selected');
[Code]....
I willconsider other alternatives to accomplishing my objective.
What I try to do is the following..let's say I have this form:
<select name="sSelectMe" class="someclass">
<option value="">select an option</option>
<option value="1">option 1</option>
[code]....
According to [URL] intended way for jQuery to change dynamically the selected option of a dropdown select control isassigningthe desired text instead of the value. I found this way veryinconvenient (data structures usually deal with value codes, not value descriptions) and it seems to work only sometimes.
Trying different options I came out with this approach that seems to do the job so
far:
function setSelect(pID,pSelectedValue)
{
$('#'+pID + ' option:selected').removeAttr('selected');
[Code]....
is there a way to select all values of a multiple select list by default?
View 3 Replies View RelatedI have 2 html-selects, one as source, the other as target. I want to copy the source-options to the target.
#sel_rel > source
#sel_new_after_rel > target
function openFormAddRel(){
generateFieldset("Release hinzufügen", "reg_edit", "form_add_rel");
[Code]....
While appending the option-elements to the targetselect the original option-elements disappear (exactly at step of line 13). This is unwanted behaviour.