如何显示使用javascript检查的radiobutton的文本框?

时间:2015-08-11 11:45:56

标签: javascript jquery html html5 twitter-bootstrap

我有一个HTML如下:

<div class="col-lg-2 camt hidden">
    <label for="camt">CEAV Amount:</label>
</div>
<div class="col-lg-4 camt hidden radio">
    <label>
        <input type="radio" value="..xyz.." name="camt" id="camt1" required onclick="functions()" />XYZ</label>
    <hr/>
    <div class="row">
        <div class="col-lg-4">
            <label>
                <input type="radio" value="ABC" name="camt" id="camt2" required onclick="functions()" />ABC</label>
        </div>
        <div class="col-lg-8">
            <input type="number" class="form-control hidden popup1" onchange="functions()" id="textpart" placeholder="Enter value. Only numbers." required />
        </div>
    </div>
    <hr/>
    <label>
        <input type="radio" value="NA" name="camt" required id="camt3" onclick="functions()" />NA</label>
    <hr/>
</div>

我在editData()中有一个函数javascript,用于设置屏幕上所有输入的值。它还会在radio button加载时检查form。因此,如果选中单选按钮camt2,我想在其前面显示textbox。但它没有用。我想要检查editData()是否被检查的两个函数radio buttonfuncitons()textbox设置为隐藏或可见的function editData() { var logfromform = document.getElementById('logref').value; var key; for (key in Log1) { if (Log1[key].LogReference == logfromform) { if (Log1[key].RedemptionPrice == '100%') { document.getElementById('redprice1').checked = true; functions(); } else if (Log1[key].RedemptionPrice == 'NA') { document.getElementById('redprice3').checked = true; functions(); } else { document.getElementById('redprice2').checked = true; functions(); } } } } 。他们都在下面: 的 editData()

function functions() {
    if (document.getElementById('camt2').checked) {
        $("#textpart").removeClass("hidden");
    } else {
        $("#textpart").addClass("hidden");
    }
}

功能()

form

当我运行 HTML JavaScript时,系统会输入removeclass,但textbox不会对NO起作用} 任何帮助非常感谢! 请注意,我正在运行 Internet Explorer 11.0.9600 IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL ALTER TRIGGER Sales.bonus_reminder ON Sales.SalesPersonQuotaHistory AFTER INSERT AS RAISERROR ('Notify Compensation', 16, 10); else CREATE TRIGGER Sales.bonus_reminder ON Sales.SalesPersonQuotaHistory WITH ENCRYPTION AFTER INSERT, UPDATE AS RAISERROR ('Notify Compensation', 16, 10); 我没有其他浏览器来继续我的工作。

4 个答案:

答案 0 :(得分:4)

试试这个:

JQuery的:

function functions(){       
    if($("#camt2").is(":checked")){
        $("#textpart").removeClass("hidden");
    } else {
        $("#textpart").addClass("hidden");
    }
}

答案 1 :(得分:3)

我认为你的父div是隐藏的。因此,您还需要使 col-lg-4 div也可见。试试这个:

function functions(){       
if(document.getElementById('camt2').checked)
    {
        $(".col-lg-4").removeClass("hidden");
        $("#textpart").removeClass("hidden");
    }
    else{
    $("#textpart").addClass("hidden");
    }
}

希望这有帮助。

答案 2 :(得分:1)

嗨我想建议如果你已经使用了jquery那么为什么我们需要制作类并操纵它??

您可以尝试使用 .show() .hide()

&#13;
&#13;
function functions(){       
    if($("#cam2").is(":checked")){
        $("#textpart").show();
    } else {
        $("#textpart").hide();
    }
}
&#13;
&#13;
&#13;

答案 3 :(得分:0)

我复制你的html和js代码,它对我有用。好吧,我不得不删除div.col-lg-4.radio上隐藏的类来显示元素。但函数functions对我来说效果很好。是否在控制台上显示任何js错误?