Reputation: 4055
I know there are a few examples I have looked through on here but I am still not able to get my jquery to work correctly.
Question: If user selects a specific option from dropdown #1 then change the options in dropdown #2 How is this accomplished?
HTML/Coldfusion:
<label>*Xpress Mod/Paint:</label> <cfselect name="xpress_mod_data">
<option value="Non-Xpress">Non Xpress
<option value="3-Day">3-Day Xpress
</cfselect>
<label>Enclosure Type:</label> <cfselect name="enclosure_type">
<option value="global">Global
<option value="server_optimized">Server Optimized
</cfselect>
This is my JQuery:
$('#xpress_mod_data').change(function() {
if($(this).attr("value")=="3-Day") {
$("#enclosure_type option[value='server_optimized']").remove();
} else {
$('#enclosure_type').append('<option value="server_optimized">Server Optimized');
}
});
What is happening when I run my code: The option that is supposed to be appended keeps getting added over and over again.
Upvotes: 1
Views: 836
Reputation: 4475
For greater flexibility in case you need to add multiple chained selects, have multiple parents or use Ajax to build the drop-downs, check out the jQuery Chained Selects plugin. (It greatly simplified a project where I needed 5 possible drop-downs working together.)
http://www.appelsiini.net/projects/chained
Upvotes: 0
Reputation: 4637
you didnt use id in your html id="xpress_mod_data"
this one is missing Check Demo here
Html
<select name="xpress_mod_data" id="xpress_mod_data">
<option value="Non-Xpress">Non Xpress </option>
<option value="3-Day">3-Day Xpress</option>
</select>
<label>Enclosure Type:</label>
<select name="enclosure_type" id="enclosure_type">
<option value="global">Global </option>
<option value="server_optimized">Server Optimized </option>
</select>
Jquery
$('#xpress_mod_data').change(function() {
if($(this).val()=="3-Day") {
console.log('test');
$("#enclosure_type option[value='server_optimized']").remove();
} else {
$('#enclosure_type').append('<option value="server_optimized">Server Optimized');
}
});
Upvotes: 3