0

I have three dropdowns that are populated from 3 different mysql tables from php. It is for an employee tracking system.

The first dropdown has a bunch of fields and one that basically says they are "Out of Office".

I want the Product and the Project dropdown to be disabled and to automatically go to our "N/A" row respectively for each table.

I have the following js:

<script>    
$(function() {
            $("#f_activity_id").change(function() {
                if ($(this).val() == "7") {
                    document.getElementById('f_product_id').value='16', 
                    document.getElementById('f_segment_id').value='7',
                    $("#f_segment_id").prop("disabled", true),
                     $("#f_product_id").prop("disabled", true);

                }
                else
                    $("#f_product_id").prop("disabled", false),
                    $("#f_segment_id").prop("disabled", false);
            });
        });    
</script>

Well it seems like my script is right because it disables the second two dropdowns and it sets them to "N/A" which correlates to id 16 and 7. But on submit the two fields are null which I guess is because I am disabling them? So how do I gray them out and still allow them to submit correctly?

1 Answer 1

1

after the change event code add this

$('#yourForm').submit(function () {
        $("#f_product_id").prop("disabled", false),
        $("#f_segment_id").prop("disabled", false);
});
Sign up to request clarification or add additional context in comments.

4 Comments

Thank you. That worked for submitting. I found one issue though with my code. If I go to edit the entry the javascript doesn't preload. The person editing would have to click off and back on the first dropdown to gray the second two out. Is there a way to get this to read on page load?
at the bottom <?php if ($someVarYouAreLoadingTheirStatusFrom === 'outOfOffice') { echo "$('#outOfOfficeChoiceInDropDown').click();"; } ?>
What is #outOfOfficeChoiceInDropDown supposed to be? Whatever I try just prints on the page.
that is psuedocode :-) your example describes no mechanism for retrieving data from the server, which is what you would have to do.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.