Jquery радио-кнопка показать и скрыть div - PullRequest
0 голосов
/ 28 ноября 2011

Мой HTML и JQuery код здесь.Код jquery выполняется, если значение, заканчивающееся на 123, будет указывать указанный div.Но у меня здесь проблема.После того, как я нажал на значение c123 и d123 и переключился обратно на переключатели a и b.Показанный div не исчезнет.Как это исправить?

<input type="radio" value="a" />
<input type="radio" value="b" />
<input type="radio" value="c123" />
<input type="radio" value="d123" />



<ul id="localBankc123" class="localBank">
  <li>Maybank</li>
</ul>
<ul id="localBankd123" class="localBank">
<li>CIMB Bank</li>
</ul>

$(".localBank").hide();
$("input[value$='123']").click(function() {
 var bank = $(this).val();
        $(".localBank").hide();
        $("#localBank"+bank).show();
    });

Ответы [ 3 ]

1 голос
/ 28 ноября 2011

Было бы лучше, если вы разместите часть HTML с .localBank.

Но, если я правильно понял вашу проблему, она не скроет ваш div, потому что обработчик не вызывается (у input нет значения, заканчивающегося на 123).

Вы можете прикрепить обработчик ко всем input s, а затем, внутри обработчика, показать div, только если нажатый input имеет значение, заканчивающееся на 123.

Примерно так:

$(".localBank").hide();
$("input").click(function() {
  var bank = $(this).val();
  $(".localBank").hide();
  if (bank.indexOf(/123$/) {
    $("#localBank"+bank).show();
  }
});
0 голосов
/ 17 апреля 2017

пожалуйста, попробуйте этот код ..

$(".localBank").hide();
$("input").click(function() {
    var bank = $(this).val();
    $(".localBank").hide();
    $("#localBank"+bank).show();
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<input type="radio" name="bank" value="a" />
<input type="radio" name="bank" value="b" />
<input type="radio" name="bank" value="c123" />
<input type="radio" name="bank" value="d123" />
   

<ul id="localBankc123" class="localBank">
  <li>Maybank</li>
</ul>
<ul id="localBankd123" class="localBank">
<li>CIMB Bank</li>
</ul>
0 голосов
/ 28 ноября 2011
$(".localBank").hide();
$("input").click(function() {
  var bank = $(this).val();
  if (bank.indexOf("123") > -1){
    $("#localBank"+bank).show();
  }else{
     $(".localBank").hide();
   }
});
...