【问题标题】:How can I select an radio button after div display block?如何在 div 显示块后选择单选按钮?
【发布时间】:2015-10-19 19:37:29
【问题描述】:

这是我的代码:

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
   });

change函数下有两个Radio,#tipo_relS#tiporelA。无线电#tiporelA 在onload 功能上进行检查。当 option 的值为 18 时,radio #tiporelA 为 display none,#tiporelS 为 display block。

我需要检查此单选按钮 #tiporelS#tiporelA 不显示,但似乎没有任何效果。

【问题讨论】:

  • 你的描述和代码不匹配!可能会在小提琴中复制您的问题。
  • 您能否提供更大的代码上下文?您正在寻找的行为究竟是什么?你检查#tiporelS 是为了什么?
  • 正如@lshettyl 所说,您发布的代码与您要求的代码不匹配。
  • 有什么建议可以改写答案吗?

标签: javascript jquery radio-button


【解决方案1】:

正如我在评论中所说,您的描述和代码不匹配!因此,纯粹基于假设我想出了这个。

  • 加载时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>

【讨论】:

  • 是的!而已!但我确实使用 jquery
  • @LucasSantos 只要加载了 jQuery 就没有关系!
  • 有什么建议为什么它不起作用?我怎样才能解决这个问题?这很简单,但没有任何作用......
  • 为什么 what 不起作用?我上面的演示适用于jQuery 1.9.1
  • 我猜还有另一个更改函数与这个函数一起运行,但是你的代码现在可以工作了,谢谢!
【解决方案2】:

你可以试试:

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

【讨论】:

  • 在您的帖子中添加一些 HTML,以便我们查看发生了什么
【解决方案3】:

诀窍在于您必须取消隐藏单选按钮,单击或选中它,然后将其全部重新隐藏在同一个函数中。用户不会看到更改,但它将允许浏览器选择该值,并且速度足够快以至于用户不可见。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    相关资源
    最近更新 更多