менять класс кнопки согласно select с javascript

я надеюсь, что они могут помогать мне. У меня есть в таблице select и кнопка. У select есть пустой option, другой, который говорит Лучшее применение, и другой, который говорит Начало, торговал.

Я хочу, что, когда я выберу Лучшее применение ó, Он Инициализировал дело, кнопку станьте зеленым, убрав класс .btn-danger от кнопки и добавив .btn-success. Это уже этого добилось.

То, чего мне не хватает, состоит, в том, чтобы выбрав пустое место, он снял изменения и вновь имел Ваш класс .btn-danger. А именно, что был как сначала.

HTML

  <thead>
            <tr>
                <th>ID</th>
                <th>Nombre</th>
                <th>Apellido</th>
                <th>Pais</th>
                <th>Estaca</th>
                <th>Barrio</th>
                <th>Edad</th>
                <th>Status</th>
                <th>Educación</th>
                <th>Oficio</th>
                <th>Conocimiento</th>
                <th>Aspiraciones</th>
                <th>Inicio</th>
                <th>Acciones</th>
                <th>Nuevo status</th>
                <th>Enviar</th>
            </tr>
        </thead>

        <?php while($ver=mysqli_fetch_row($result)): ?>

        <tbody>
            <tr>
                <td><?php echo $ver[0];  ?></td>
                <td><?php echo $ver[1];  ?></td>
                <td><?php echo $ver[2];  ?></td>
                <td><?php echo $ver[3];  ?></td>
                <td><?php echo $ver[4];  ?></td>
                <td><?php echo $ver[5];  ?></td>
                <td><?php echo $ver[6];  ?></td>
                <td><?php echo $ver[7];  ?></td>
                <td><?php echo $ver[8];  ?></td>
                <td><?php echo $ver[9];  ?></td>
                <td><?php echo $ver[10]; ?></td>
                <td><?php echo $ver[11]; ?></td>
                <td><?php echo $ver[12]; ?></td>
                <td><?php echo $ver[13]; ?></td>
                <td><select name="" id="nuevoStatus" onchange="cambiarBtn(this.value);"  >
                    <option value="0"> </option>
                    <option value="Empleo">Empleo</option>
                    <option value="Negocio">Negocio</option>
                    <input type="text" id="seleccion" >
                </select></td>
                <td>
                    <div class="botonAS">
                        <input type="button" id="enviar" class="btn btn-danger" value="Autosuficiente" >
                    </div>
                </td>

            </tr>
        </tbody>

РУКОПИСНЫЙ ШРИФТ

function cambiarBtn(){

    var option = document.getElementById('#nuevoStatus');

    if (option != 0) {
        $("#enviar").removeClass("btn-danger");
        $("#enviar").addClass("btn-success");

    } else if (option = 0) {
        $("#enviar").removeClass("btn-success");
        $("#enviar").addClass("btn-warning");
    }
}
1
задан 30.11.2019, 04:50
2 ответа
function cambiarBtn(){

    var option = document.getElementById('#nuevoStatus');

    if (option != 0) { //aqui deberias usar una sentencia !==
        $("#enviar").removeClass("btn-danger");
        $("#enviar").addClass("btn-success");

    } else if (option = 0) { //Aqui tienes un error ya que en ves de comparar estas igualando
        $("#enviar").removeClass("btn-success");
        $("#enviar").addClass("btn-warning");
    }
}
1
ответ дан 01.12.2019, 10:33

У тебя есть ошибка во втором if

Его должно быть

else if (option == 0) {...

С двумя выровняй ==

, Но лучше prГЎctica делать сравнения в JS таким образом:

option === 0
option !== 0

- Это, чтобы гарантировать тебя, что ты сравниваешь тот же тип tato Пример:

, Если option это - string. option = '1'

option == 1 // true
option === 1 // false

С этим, ты уходишь предотвращать какие-то головные боли

1
ответ дан 01.12.2019, 10:33
  • 1
    Я сделал то, что они предложили мне, и совсем не, продолжи быть равным, измени в зелень кнопку, но потом выбрав первый option, он не возвращается в красный. А именно, синтаксис с оператором, если он может улучшаться, но не решение, И если вместо того, чтобы сравнивать с ' 0' я сравниваю прямо со стоимостью option? – henryscode 30.11.2019, 15:15
  • 2
    Смотри этот пример, está s читая плохо value select codepen.io/oscarmyepes/pen/dyPbjbe – OSCAR MAURICIO YEPES MORATO 01.12.2019, 00:28