2015-08-06 3 views
-1

Вот мой код:Как выбрать переключатель после блока отображения div?

HTML:

<span id="opc1"> <input type="radio" name="radio_relatorio" id="tipo_relA" value="A"> A </span> 
<span id="opc2"> <input type="radio" name="radio_relatorio" id="tipo_relS" value="S"> S </span> 

Javascript:

$("select[name=tprel]").change(function() { 
    document.getElementById("tpbaixa").selectedIndex = 0; 
    muda_label_datas($(this).val()); 
    if($(this).val() == 18) 
    { 
     $("#opc2").css("display","block"); 
     $("#opc1").css("display","none"); 

     $("#tipo_relS").attr('checked', true); 
    } 
    else 
    { 
     $("#opc2").css("display","none"); 
     $("#opc1").css("display","block"); 

     $("#tipo_relS").attr('checked', false); 
    } // it's an large function, but that's what matter 
    }); 

Там в два радио под функцией изменения, #tipo_relS и #tiporelA. Радио #tiporelA проверяется на функцию onload. Когда значение опции равно 18, радио #tiporelA не отображается, а #tiporelS - это блок отображения.

Мне нужно будет проверить эту радиокнопку #tiporelS, в то время как #tiporelA показывается, но ничего не работает.

+1

Вы описание и код не совпадает! Вероятно, повторите свою проблему в скрипке. – lshettyl

+0

Не могли бы вы предоставить более широкий контекст вашего кода? И какое именно поведение вы ищете? Для чего вы проверяете #tiporelS? – BurningLights

+0

как @lshettyl сказал, что между кодом, который вы отправили, и тем, о чем вы просите, нет. –

ответ

0

Как я уже сказал в своем комментарии, вы не указали описание и код! Следовательно, чисто основанный на предположении, я придумал это.

  • При погрузке tipo_relA проверяется и tipo_relS скрыт.
  • При замене блока выбора с именем tprel, когда значение равно 18, tipo_relA скрыто и отображается tipo_relS.
  • Показанная радиостанция отмечена и скрыт.

Демо:

$("select[name=tprel]").change(function() { 
 

 
    $("#opc2, #opc1").addClass("hidden"); 
 
    $(":radio").prop('checked', false); 
 

 
    if($(this).val() == 18) { 
 
     $("#opc2").removeClass("hidden"); 
 
     $("#tipo_relS").prop('checked', true); 
 

 
    } else { 
 
     $("#opc1").removeClass("hidden"); 
 
     $("#tipo_relA").prop('checked', true); 
 
    } 
 
}).change();
.hidden { 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<span id="opc1"> 
 
    [tipo_relA] <input type="radio" name="radio_relatorio" id="tipo_relA" value="A" /> 
 
</span> 
 
<span id="opc2" class="hidden"> 
 
    [tipo_relS] <input type="radio" name="radio_relatorio" id="tipo_relS" value="S" /> 
 
</span> 
 

 
<select name="tprel"> 
 
    <option value=""></option> 
 
    <option value="18">18</option> 
 
    <option value="2">2</option> 
 
    <option value="3">3</option> 
 
</select>

+0

Да! Это оно! Но я использую jquery

+0

@LucasSantos, что не имеет значения, пока загружается jQuery! – lshettyl

+0

Любое предложение, почему оно не работает? Как я могу это исправить? Это просто, но ничего не работает ... –

0

Вы можете попробовать:

$("#tipo_relS").attr('checked', true); 
+0

Я уже пробовал все jquery, которые я знаю (attr, prop, css), но ничего не работает ... –

+0

Добавьте HTML-сообщение в свой пост, чтобы мы могли видеть, что происходит – BravoZulu

0

Хитрость здесь вы должны отобразить кнопку радио, нажмите или проверить его тогда rehide все это в одной и той же функции. Пользователь не увидит изменения, но это позволит браузеру выбрать значение и будет достаточно быстрым, чтобы он был невидим для пользователя.

+0

У меня есть блок отображения как радио, так и #tipo_relA. уже проверено ... –

Смежные вопросы