радио - действие щелчка и действие длины - PullRequest
0 голосов
/ 05 мая 2011

У меня есть кнопка радио на странице, при загрузке страницы она будет использовать действие длины, чтобы проверить, а затем скрыть / показать некоторые элементы.

Когда пользователь нажимает на радио, оно будет скрывать и показывать некоторые элементы.

Мне интересно, это правильный путь? Или как это можно улучшить

$(document).ready(function() {
if ($(".delivery_type:radio").length > 0) {
    if ($('#methodPickup').is(':checked')) {
        $(".methodDelivery").hide();
        $("#addressBookSelectBlock").hide();
        $(".customAddress").hide();
    }
    if ($('#methodDelivery').is(':checked')) {
        $(".methodPickup").hide();
    }
}


$(".delivery_type:radio").live('click', function() {
    if ($(this).val() == "pickup") {
        $(".methodDelivery").hide();
        $(".methodPickup").show();
        $("#addressBookSelectBlock").hide();
        $(".customAddress").hide();
    }
    if ($(this).val() == "delivery") {
        if ($(".selectAddressList").length == 0) {
            $(".customAddress").show();
        }

        $(".methodDelivery").show();
        $(".methodPickup").hide();
        $("#addressBookSelectBlock").show();
    }
});

});

1 Ответ

1 голос
/ 05 мая 2011

Вы можете объединить все функции hide() и show() вместе:

if ($('#methodPickup').is(':checked')) {
  $(".methodDelivery, #addressBookSelectBlock, .customAddress").hide();
}
// etc...

Кроме того, я не уверен, почему вы используете live(), если переключатели не добавляются или динамически не добавляются; просто используйте click(), если они не являются динамическими.

Обмен некоторыми HTML-кодами и дополнительная информация могут помочь с дополнительными предложениями.

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