Javascript 使用IF重复代码

Javascript 使用IF重复代码,javascript,twitter-bootstrap,if-statement,radio-button,navbar,Javascript,Twitter Bootstrap,If Statement,Radio Button,Navbar,单击单选按钮时,按钮上的文本会发生变化。但是,当我点击两次按钮时,文本不再显示。我想要一些循环/重复代码,当我多次点击单选按钮时,按钮上的文本总是出现。要帮忙吗 HTML <nav class="navbar2 navbar-expand-sm navbar-dark fixed-bottom"> <div id="navbarbackground" class="container-fluid"> <div class="n

单击单选按钮时,按钮上的文本会发生变化。但是,当我点击两次按钮时,文本不再显示。我想要一些循环/重复代码,当我多次点击单选按钮时,按钮上的文本总是出现。要帮忙吗

HTML

<nav class="navbar2 navbar-expand-sm navbar-dark fixed-bottom">
        <div id="navbarbackground" class="container-fluid">
            <div class="navbar" id="nav-content">
                <label class="labl icon-package-flat">
                    <input type="radio" onclick="window.location='#formulario';" id="radioInfo" name="radioname" value="Submeter pedido de Informação geral" checked="checked" />
                    <div class="text"><center class="iconcenter"><i class="icon icon-info"></i></center>Informação geral</div>
                </label>
                <label class="labl icon-package-flat">
                    <a href="#formulario"></a>
                    <input type="radio" onclick="window.location='#formulario';" id="radioTestDrive" name="radioname" value="Submeter pedido de Test drive" />
                    <div class="text"><center class="iconcenter2"><i class="icon icon-test_drive"></i></center>Test drive</div>
                </label>
                <label class="labl icon-package-flat">
                    <input type="radio" onclick="window.location='#formulario';" id="radioFinancing" name="radioname" value="Submeter pedido de Financiamento" />
                    <div class="text"><center class="iconcenter2"><i class="icon icon-calculator"></i></center>Financiamento</div>
                </label>
                <label class="labl icon-package-flat">
                    <input type="radio" onclick="window.location='#formulario';" id="radioCatalog" name="radioname" value="Submeter pedido de Catálogo" />
                    <div class="text"><center class="iconcenter2"><i class="icon icon-printed"></i></center>Catálogo</div>
                </label>
            </div>
        </div>
    </nav>

谢谢大家!

您正在从
$(this).attr('data-value')
获取
值,它不会返回您想要的内容。然后再次将其设置为该值。它正在清除radiobutton值

另外,您不需要在radiobutton值和JS代码中指定它的文本。这是不明确的,可能会导致维护问题


糟糕的解决方案 您只需更改该行即可使其正常工作:

发件人:
var val=$(this.attr('data-value')
致:
var val=$(this.val()


建议的解决方案 尝试替换整个
。单击()

    $("[name='radioname']").click(function () {
        $(this).parent().find('.radio').removeClass('selected');
        $(this).addClass('selected');
        $("#lblOpcao").text($(this).val());  
    });

我删除了一些无用的逻辑。您正在检查radiobutton id以设置lblOpcao上的特定文本,但未使用它。您总是使用
.val()
文本覆盖它。您还将radiobutton值设置为相同的值。

非常感谢您的关注。我能够用这个解决方案解决这个问题:)如果这对你有帮助,请将它标记为:D
 $("[name='radioname']").click(function () {
            $(this).parent().find('.radio').removeClass('selected');
            $(this).addClass('selected');

            var val = $(this).attr('data-value');

            if ($(this).id == "radioInfo") {
                $("#lblOpcao").text("Submeter pedido de Informação geral");
            }

            if ($(this).id == "radioFinancing") {
                $("#lblOpcao").text("Submeter pedido de financiamento");
            }

            if ($(this).id == "radioTestDrive") {
                $("#lblOpcao").text("Submeter pedido de Test drive");
            }

            if ($(this).id == "radioCatalog") {
                $("#lblOpcao").text("Submeter pedido de Catálogo");
            }

            $("#lblOpcao").text($(this).val());
            //alert(val);
            $(this).parent().find('input').val(val);        
        });

        function toggle(button) { if (radio.value == "OFF") { radio.value = "ON"; } else { radio.value = "OFF"; } }
    $("[name='radioname']").click(function () {
        $(this).parent().find('.radio').removeClass('selected');
        $(this).addClass('selected');
        $("#lblOpcao").text($(this).val());  
    });