Радио кнопки и JQuery

Порядок оценки неуточнен, см. http://en.wikipedia.org/wiki/Sequence_point

Это та же ситуация, что и пример с примером оператора + :

Рассмотрим две функции f() и g(). В C и C ++ оператор + не связан с точкой последовательности, и поэтому в выражении f()+g() возможно, что либо f(), либо g() будут выполнены в первую очередь.

blockquote >

1
задан Banshee 13 June 2010 в 10:55
поделиться

2 ответа

Вам нужно внести несколько исправлений:

$("#TypeOfAd_Auktion")
//should be:
$("#ModelViewAd\\.TypeOfAd_Auktion")

$(this).checked
//should be:
this.checked

$("#ModelViewAd.TypeOfAd_Ad")
//should be:
$("#ModelViewAd\\.TypeOfAd_Ad")

И это:

$("divEndDate")
//should be:
$("#divEndDate")

При использовании . в идентификаторе, его необходимо экранировать, чтобы он не рассматривался как класс, например: \\. Кроме того, если вам не нужна видимость для занятия места на странице, даже когда она скрыта, используйте вместо этого display , тогда вы можете сократить код до следующего:

$("#ModelViewAd\\.TypeOfAd :radio").change(function () {
    $("#divEndDate").toggle(this.checked && this.value == 'Ad');
});

Вы можете просмотреть демо здесь , это не включает никаких изменений в ваш HTML, только скрипт.

2
ответ дан 2 September 2019 в 23:48
поделиться

попробуйте следующее

$(document).ready(function () { 
  $('input:radio[name="ModelViewAd.TypeOfAd.SelectedValue"]').click(function() {
    this.id == 'ModelViewAd.TypeOfAd_Ad'?
      $("#divEndDate").show() : $("#divEndDate").hide();

  });
});

Мы привязываем один и тот же обработчик событий щелчка к обоим входам радио, а затем проверяем идентификатор внутри функции. В зависимости от этого значения id мы либо показываем, либо скрываем

с датой окончания.

Вот Рабочая демонстрация

0
ответ дан 2 September 2019 в 23:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: