¿Cómo eliminar todas las opciones de un cuadro de selección y luego agregar una opción y seleccionarla usando JQuery?

Dado un cuadro de selección con un número fijo de opciones, la tarea es eliminar todas las opciones y luego agregar una opción e inmediatamente seleccionar esa opción en particular usando jQuery. Hay dos enfoques que se pueden tomar para lograr esto:

Enfoque 1: Uso de los métodos find() , remove() , end() y append()

En el siguiente ejemplo, se crea un cuadro de selección con algunas opciones y un elemento de botón . El botón también tiene un atributo onclick , lo que significa que al hacer clic en el botón, se ejecuta el script o la función especificada dentro del atributo.

Seleccionamos todas las opciones en el cuadro de selección usando el método find() con un parámetro de “ opción ”. Luego, eliminamos todas las opciones seleccionadas usando el método remove() . Usamos el método end() para revertir la selección al cuadro de selección. Para agregar una opción, se puede usar el método append() . El parámetro dentro del método append() es una string que contiene marcado HTML para la opción de agregar al cuadro de selección.

Ejemplo: En el siguiente ejemplo, se crea un cuadro de selección con 4 opciones. Al hacer clic en el botón, se eliminan todas las opciones y se agrega una nueva opción.

HTML

<!DOCTYPE html>
<html>
  <head>
    <script src=
"https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js">
   </script>
  
    <!-- Basic inline styling -->
    <style>
      body {
        text-align: center;
      }
      h1 {
        color: green;
        font-size: 40px;
      }
      p {
        font-size: 25px;
        font-weight: bold;
      }
      button {
        display: block;
        cursor: pointer;
        margin: 5rem auto 0 auto;
      }
      select {
        cursor: pointer;
      }
    </style>
  </head>
  <body>
    <h1>GeeksforGeeks</h1>
    <p>
       jQuery - Remove all options of select box 
       then add one option and select it
    </p>
  
    <select id="geek-select">
      <option value="geek1">GEEK 1</option>
      <option value="geek2">GEEK 2</option>
      <option value="geek3">GEEK 3</option>
      <option value="geek4">GEEK 4</option>
    </select>
    <button onclick="removeThenAdd()">
      Click me to remove all options and then add one option
    </button>
    <script type="text/javascript">
      function removeThenAdd() {      
        $("#geek-select").find("option").remove().end().append(
        '<option value = "gfg">GeeksForGeeks</option>');
      }
    </script>
  </body>
</html>

Producción:

Enfoque 2: Uso de los métodos empty() y append()

En lugar de seleccionar todas las opciones, eliminarlas y luego agregar una opción, vaciamos o eliminamos directamente todos los Nodes secundarios del cuadro de selección. Los Nodes secundarios se eliminan con el método empty() y luego se agrega una nueva opción con el método append() . El parámetro dentro del método append() es una string que contiene marcado HTML para que la opción se agregue al cuadro de selección.

Ejemplo:

HTML

<!DOCTYPE html>
<html>
  <head>
    <script src=
"https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js">
   </script>
  
    <!-- Basic inline styling -->
    <style>
      body {
        text-align: center;
      }
  
      h1 {
        color: green;
        font-size: 40px;
      }
  
      p {
        font-size: 25px;
        font-weight: bold;
      }
  
      button {
        display: block;
        cursor: pointer;
        margin: 5rem auto 0 auto;
      }
  
      select {
        cursor: pointer;
      }
    </style>
  </head>
  <body>
    <h1>GeeksforGeeks</h1>
    <p>
      jQuery - Remove all options of select box 
      then add one option and select it
    </p>
  
    <select id="geek-select">
      <option value="geek1">GEEK 1</option>
      <option value="geek2">GEEK 2</option>
      <option value="geek3">GEEK 3</option>
      <option value="geek4">GEEK 4</option>
    </select>
    <button onclick="removeThenAdd()">
      Click me to remove all options and then add one option
    </button>
    <script type="text/javascript">
      function removeThenAdd() {
        
        $("#geek-select").empty().append(
        '<option value = "gfg">GeeksForGeeks</option>');
      }
    </script>
  </body>
</html>

Producción:

Publicación traducida automáticamente

Artículo escrito por rajatsandhu2001 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *