right have 3 different select box sections, states or provinces or territories, anyways...
my form this...
country[] states/province[]
i change default info in state/province box selecting different countries before it, such usa(new york, florida) canada(albert, nova scotia) mexico(yukatan, northren).
each section of select boxes mexico, usa, canada have same name submit database state/province. but, believe keeping other selections of other countries ie.. select alabama usa , switch canada , pick alberta, tries save both of them, how can make 1 chosen?
thank much!
oh, here code below...
$(document).ready(function(){ $("#country").change(function() { $("#usstates").hide(); $("#castates").hide(); $("#mexstates").hide(); if ($("#country").val() == 'united states'){ $("#usstates").show(); $("#castates").hide(); $("#mexstates").hide(); $("#state1").val(''); } if ($("#country").val() == 'canada'){ $("#castates").show(); $("#usstates").hide(); $("#mexstates").hide(); $("#state1").val(''); } if ($("#country").val() == 'mexico'){ $("#mexstates").show(); $("#castates").hide(); $("#usstates").hide(); $("#state1").val(''); } }); }); <div id="castates" style="display: none;"> <div class="leftform">state / province:</div> <div class="rightform"><select class="select" style="width: 150px;" id="state1" name="state" size="1"> <option value=""></option> <option value="alberta">alberta</option> <option value="new brunswick">new brunswick</option> <option value="nova scotia">nova scotia</option> <option value="prince edward island">prince edward island</option> <option value="british columbia">british columbia</option> <option value="newfoundland">newfoundland</option> <option value="ontario">ontario</option> <option value="quebec">quebec</option> <option value="manitoba">manitoba</option> </select></div><br clear="all"/> </div> <div id="mexstates" style="display: none;"> <div class="leftform">state / province:</div> <div class="rightform"><select class="select" style="width: 150px;" id="state1" name="state" size="1"> <option value=""></option> <option value="baja california">baja california</option> <option value="central mexico">central mexico</option> <option value="gulf of mexico">gulf of mexico</option> <option value="northern mexico">northern mexico</option> <option value="mexico pacific coast">mexico pacific coast</option> <option value="yucatan">yucatan</option> </select></div><br clear="all"/> </div>
the problem must disable controls don't want submitted. replace script one, , will'be fixed:
$(document).ready(function(){ $("#country").change(function(){ //we first disable all, dont submit data more 1 country $("#usstates, #castates, #mexstates").hide().find("#state1").attr("disabled", true); var $divselectedstates; if ($("#country").val() == 'united states') $divselectedstates = $("#usstates"); if ($("#country").val() == 'canada') $divselectedstates = $("#castates"); if ($("#country").val() == 'mexico') $divselectedstates = $("#mexstates"); //we enable selected country $divselectedstates.show().find("#state1").attr("disabled", false).val(''); }); }); the main change in code (besides it's little shorter now), we're disabling non selected selects, so not submitted.
and , advice, don't use repeated id's in same page. never. causing problem, also, it's fixed code showed you.
hope helps, cory. cheers :)
Comments
Post a Comment