Кнопка с функциональностью переключателя - PullRequest
1 голос
/ 21 октября 2011

Мне интересно, можете ли вы сделать кнопку, функционирующую как кнопка HTML-радио.Я пытаюсь создать форму, в которой пользователь нажимает на указанную кнопку и, таким образом, выбирается значение, но пользователь не получает указания, пока не выберет другой вариант и не отправит форму.Кто-нибудь знает, как это сделать?

(я не против использования других языков, включая JavaScript и т. Д.)

Ответы [ 2 ]

3 голосов
/ 21 октября 2011

jQueryUI имеет виджет кнопки , который преобразует переключатели или флажки в кнопки.

Пример с сайта:

http://jqueryui.com/demos/button/#radio

<script>
$(function() {
    $( "#radio" ).buttonset();
});
</script>

<div class="demo">
    <form>
        <div id="radio">
            <input type="radio" id="radio1" name="radio" /><label for="radio1">Choice 1</label>
            <input type="radio" id="radio2" name="radio" checked="checked" /><label for="radio2">Choice 2</label>
            <input type="radio" id="radio3" name="radio" /><label for="radio3">Choice 3</label>
        </div>
    </form>
</div>

Вы можете перейти по ссылке, чтобы увидеть ее в действии.

0 голосов
/ 21 октября 2011

Во-первых, на странице, о которой вы говорите, это звучит так, как будто пользователь выполняется где-то еще - то есть выполняется действие, подобное отправке, - просто путем выбора переключателя.Я не верю, что это самая лучшая практика.

Во-вторых, вы должны оставить им две радиокнопки: они работают отлично, и после выбора радиокнопка не может быть очищена, кроме как путем выбора другойкнопка.Это именно то, что вы хотите.

Чтобы быть уверенными в том, что две требуемые кнопки были выбраны, дайте каждой кнопке обработчик onclick, который устанавливает переключатель: какая-то кнопка в этой группе была выбрана.

Затем, когда он нажимает кнопку «Отправить», проверьте эти два переключателя и скажите ему, если он забыл нажать кнопку.

Да, вам нужен JavaScript для всего этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...