Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3633336
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 19, 20262026-05-19T00:38:25+00:00 2026-05-19T00:38:25+00:00

I am trying to attempt to disable an option if it is selected in

  • 0

I am trying to attempt to disable an option if it is selected in any of the selects

So for example if name=”select1″ has selected option “Test 2”, then I want “Test 2” to be disabled in both select statements… and if something else gets checked that it re-enables the previous option.

I have written a sample script here to which I thought would get me ‘close’… but it’s put me far off base here. Any help would be appreciated.

<script type="text/javascript">
$(document).ready(function(){
 $("select").change(function() {
  $("select").find("option:selected").attr('disabled', true);
 });
});
</script>

<select name="select1">
    <option>No Match</option>
    <option value="1">Test</option>
    <option value="2">Test 2</option>
    <option value="3">Test 3</option>
</select>

<select name="select2">
    <option>No Match</option>
    <option value="1">Test</option>
    <option value="2">Test 2</option>
    <option value="3">Test 3</option>
</select>
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-19T00:38:25+00:00Added an answer on May 19, 2026 at 12:38 am

    Live demo: http://jsfiddle.net/dZqEu/

    $('select').change(function() {
    
        var value = $(this).val();
    
        $(this).siblings('select').children('option').each(function() {
            if ( $(this).val() === value ) {
                $(this).attr('disabled', true).siblings().removeAttr('disabled');   
            }
        });
    
    });
    

    You may prefer this version of the code:

    $('select').change(function() {
    
        $(this)
            .siblings('select')
            .children('option[value=' + this.value + ']')
            .attr('disabled', true)
            .siblings().removeAttr('disabled');
    
    });
    

    Live demo: http://jsfiddle.net/dZqEu/2/

    Note that this second version is an one-liner (one line of code) but I formatted it to be more readable. I like this second version better.


    Also, note that my code assumes that those two SELECT boxes are DOM sibling elements. If that’s not your case, then this code – $(this).siblings('select') – will not work for you, and you will have to use jQuery’s traversal methods to jump to the other SELECT box.

    In the worst-case scenario – when the SELECT boxes are far apart in the DOM tree, and traversing would not be efficient – you can just assign ID attributes to them and use this code to select the other box:

    $('#select1, #select2').not(this)
    

    Live demo: http://jsfiddle.net/dZqEu/3/

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I've been trying to disable a form element using jquery, as per the example
It seems that my attempt at trying to replicate Jquery UI's draggable function has
I'm trying to attempt something that seems super simple, but right now I want
In an attempt to wrap some unmanaged code in a managed .dll I'm trying
I'm trying to programmatically intercept and cancel a user's attempt to check out a
I'm trying to write a Date class in an attempt to learn C++. I'm
In an attempt to learn C#, I am trying to develop Picasa Like Application
In an attempt to develop a hard disk analytic tool, I'm trying to get
I'm trying to create a simple threading procedure (granted this is my first attempt
I'm trying to calculate time blocks from given date range. Here's my attempt: <?php

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.