cristian frias Ответов: 3

Отключено и включено несколько кнопок при нажатии пользователем.


У меня есть группа кнопок, которые будут включены/отключены, когда пользователь нажмет другую. Например, пользователь нажимает кнопку "Север", после чего кнопка "Север" будет отключена для выбора, в то время как остальные кнопки останутся включенными. Затем пользователь выбирает другую кнопку, после чего Север будет включен, а кнопка user select будет отключена. Извините, просто новичок в Javascript. Любая помощь была бы очень признательна. Спасибо!

Что я уже пробовал:

<button id="one" onclick="disable()"  >North Cebu</button>
<button id="two" onclick="disable()"  >Central Cebu</button>
<button id="three" onclick="disable()"  >Cebu City</button>
<button id="four"  onclick="disable()" >South Cebu</button>
<button id="five"  onclick="disable()" >West Cebu</button>
<button id="six" onclick="disable()" >East City</button>


function disable() {
       document.getElementById("one").disabled = true;
   }
   function enable()
   { document.getElementById("two").disabled = false; }

3 Ответов

Рейтинг:
2

ishan_shah

У меня есть решение, чтобы решить эту проблему, дав имя класса "btn" всем кнопкам и применив следующий код jquery при щелчке по нему. :

$(document).ready(function () {
    ($(".btn").click(function () {
        $("#" + this.id).prop('disabled', true);
        $(".btn").not(this).prop('disabled', false);
    }));
});


cristian frias

Привет, последовал вашему предложению, но ваши коды не работают. Спасибо.

Рейтинг:
2

ishan_shah

Я думаю, что вы не добавили скрипт jquery CDN в свой тег head или body для работы Jquery в вашей программе.

Поэтому вы должны добавить следующий тег скрипта :

<pre> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>


cristian frias

Да, теперь он работает, но все кнопки отключены. Например, я нажал кнопку один, затем кнопка 1 отключена, затем я нажал кнопку 2, затем кнопка 2 отключена. Я пытаюсь добиться того, что при нажатии кнопки 2 кнопка 1 должна быть включена. Большое вам спасибо за вашу помощь.

Рейтинг:
1

Richard MacCutchan

Ваша функция должна реализовать цикл, который включает все кнопки, кроме той, которая была нажата.
Таким образом, необходимая логика будет выглядеть примерно так:

function clicked(buttonID)
{
    foreach button in list_of_buttons
    if (button.id == buttonID
        disable it
    else
        enable it
}