MVC и шоу / hinde панели? - PullRequest
       5

MVC и шоу / hinde панели?

1 голос
/ 24 июня 2010

Я использую строго типизированные представления в своем MVC, и теперь мне удается отображать все редакторы для моей регистрационной формы так, как мне нравится.

Проблема в том, что у меня есть радиогруппа, содержащая 4 радиоботтона, при выбореradiobutton Я не хочу скрывать некоторые редакторы, связанные со строго типизированными полями свойств.

Я мог бы создать такую ​​функцию javascript

if(radiobonnton1.value = cehcked){
   //Hide not used fields
   //Show used fields
}
else if(radiobonnton2.value = cehcked){
 ...
}
...

Проблема в том, что она будетбыть БОЛЬШОЙ функцией, и я не уверен, как MVC Validation будет обрабатывать ее, если редактор, который не является допустимым, скрыт?Будет ли еще возможность подать?

Это действительно путь?

BestRegards

1 Ответ

0 голосов
/ 25 июня 2010

Я добавил этот метавид javascript:

$(document).ready(function () {
 $("#ModelViewAd\\.TypeOfAd :radio").change(function () {


                    if (this.id.match('TypeOfAd_Sell$') != null) {

                        $("#ModelViewAd_BuyNowPrice").removeAttr('disabled');
                        $("#divBuyNowPrice").fadeIn(500, null);

                        $("#divReservationPrice").fadeOut(500, null);
                        $("#ModelViewAd_ReservationPrice").attr('disabled', 'disabled');

                        $("#divEndDate").fadeOut(500, null);
                        $("#ModelViewAd_EndDate").attr('disabled', 'disabled');

                        $("#divStartingPrice").fadeOut(500, null);
                        $("#ModelViewAd_StartingPrice").attr('disabled', 'disabled');

                    }
                    else if (this.id.match('TypeOfAd_Buy$')) {

                        $("#divReservationPrice").fadeOut(500, null);
                        $("#ModelViewAd_ReservationPrice").attr('disabled', 'disabled');

                        $("#divEndDate").fadeOut(500, null);
                        $("#ModelViewAd_EndDate").attr('disabled', 'disabled');

                        $("#divStartingPrice").fadeOut(500, null);
                        $("#ModelViewAd_StartingPrice").attr('disabled', 'disabled');

                        $("#divBuyNowPrice").fadeOut(500, null);
                        $("#ModelViewAd_BuyNowPrice").attr('disabled', 'disabled');

                    }
                    else if (this.id.match('TypeOfAd_Let$')) {

                        $("#ModelViewAd_BuyNowPrice").removeAttr('disabled');
                        $("#divBuyNowPrice").fadeIn(500, null);

                        $("#divReservationPrice").fadeOut(500, null);
                        $("#ModelViewAd_ReservationPrice").attr('disabled', 'disabled');

                        $("#divEndDate").fadeOut(500, null);
                        $("#ModelViewAd_EndDate").attr('disabled', 'disabled');

                        $("#divStartingPrice").fadeOut(500, null);
                        $("#ModelViewAd_StartingPrice").attr('disabled', 'disabled');

                    }
                    else if (this.id.match('TypeOfAd_WishRent$')) {

                        $("#divBuyNowPrice").fadeOut(500, null);
                        $("#ModelViewAd_BuyNowPrice").attr('disabled', 'disabled');

                        $("#divReservationPrice").fadeOut(500, null);
                        $("#ModelViewAd_ReservationPrice").attr('disabled', 'disabled');

                        $("#divEndDate").fadeOut(500, null);
                        $("#ModelViewAd_EndDate").attr('disabled', 'disabled');

                        $("#divStartingPrice").fadeOut(500, null);
                        $("#ModelViewAd_StartingPrice").attr('disabled', 'disabled');

                    }
                    else if (this.id.match('TypeOfAd_Swap$')) {

                        $("#divBuyNowPrice").fadeOut(500, null);
                        $("#ModelViewAd_BuyNowPrice").attr('disabled', 'disabled');

                        $("#divReservationPrice").fadeOut(500, null);
                        $("#ModelViewAd_ReservationPrice").attr('disabled', 'disabled');

                        $("#divEndDate").fadeOut(500, null);
                        $("#ModelViewAd_EndDate").attr('disabled', 'disabled');

                        $("#divStartingPrice").fadeOut(500, null);
                        $("#ModelViewAd_StartingPrice").attr('disabled', 'disabled');

                    }
                    else if (this.id.match('TypeOfAd_Auktion$')) {

                        $("#ModelViewAd_BuyNowPrice").removeAttr('disabled');
                        $("#divBuyNowPrice").fadeIn(500, null);

                        $("#ModelViewAd_ReservationPrice").removeAttr('disabled');
                        $("#divReservationPrice").fadeIn(500, null);

                        $("#ModelViewAd_EndDate").removeAttr('disabled');
                        $("#divEndDate").fadeIn(500, null);

                        $("#ModelViewAd_StartingPrice").removeAttr('disabled');
                        $("#divStartingPrice").fadeIn(500, null);

                    }


            })


        });

. Радиокнопка настроена правильно при сбое проверки с сервера на клиент, но javascript не запускается, пока радиокнопка не будет изменена вручную?

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