2015-07-15 2 views
1

У меня есть следующий код, чтобы проверить, отмечены ли переключатели со значением true, чтобы показать строку с именем FollowUp.Как выбрать все переключатели и исключить один jquery

showHideFollowup: function (e) { 
     e.preventDefault(); 
     if ($("input[type='radio'][name='" + e.target.name + "']:checked").val() == "true") { 
      $(".questionRow" + e.target.name + "Followup").show(); 
     } 
     else { 
      $(".questionRow" + e.target.name + "Followup").hide(); 
      $(".questionRow" + e.target.name + "Followup input").val(null); 
      $(".questionRow" + e.target.name + "Followup textarea").val(null); 
      $(".questionRow" + e.target.name + "Followup input[type='radio']").prop("checked", null); 
     } 
    }, 

Я хотел бы показать раздел FollowUp для всех переключателей значение true, кроме одного. После его модификации следующим образом не отображается раздел followUp для любого переключателя, потому что он проверяет, что rbThisIsNotWorking является ложным. Как я могу достичь того, что я ищу?

if (($("input[type='radio'][name='" + e.target.name + "']:checked").val() == "true" && $('input:radio[name="#rbThisIsNotWorking"]:checked').val() == "false")) { 
      $(".questionRow" + e.target.name + "Followup").show(); 
     } 
+0

Используйте '.val ('');' вместо '.val (NULL);' в сбросить значение элемента – Tushar

+0

, который не работает @Tushar –

ответ

1

Я думаю, что вы после изма, чтобы проверить, является ли элемент rbThisIsNotWorking не проверяется

if ($("input:not(#rbThisIsNotWorking)[type='radio'][name='" + e.target.name + "']").is(':checked')) { 
    $(".questionRow" + e.target.name + "Followup").show(); 
} else { 
    $(".questionRow" + e.target.name + "Followup").hide(); 
    $(".questionRow" + e.target.name + "Followup input").val(null); 
    $(".questionRow" + e.target.name + "Followup textarea").val(null); 
    $(".questionRow" + e.target.name + "Followup input[type='radio']").prop("checked", null); 
} 
Смежные вопросы