在选择单选按钮时动态显示文本框

时间:2011-11-28 12:51:17

标签: jquery asp.net-mvc-3

我有这个观点

@if (@Model.QuestionType == 2)
{
<div data-role="fieldcontain">
    @using (Html.BeginForm("SaveRadio", "GetQuestion", Model))
    {
        @Html.AntiForgeryToken() 
        <fieldset data-role="controlgroup">
            <label id="l2" for="select-choice-1" class="select">@Model.QuestionText
            </label>
            <br />
            @foreach (var item in Model.Options)
            {

                if (@item.OptionText == "Other")
                {
                    <input type="radio" name="selectedObjects" id="@item.OptionText" value="@item.OptionNumber" onclick="selectRadio(@Model.QuestionNo);" />
                    <input type="text" id="@(Model.QuestionNo)_rtxt" style="visibility:hidden;" />
                }
                else
                {
                    <input type="radio" name="selectedObjects" id="@item.OptionText" value="@item.OptionNumber" />
                }

                <label for="@item.OptionText">
                    @item.OptionText</label> 
            }
            <br />
        </fieldset>
        <p>
            <input type="submit" id="radio_textsubmit" value="Next" />
        </p>
    }
</div>
}

当我选择包含 其他 的单选按钮时,应显示文本框。 默认情况下它是隐藏的。

我用JS写作

     function selectRadio(radio) {
        alert(radio);
    }

根本没有触发selectRadio事件。我需要将其括在表格中吗?

我在MVC3中这样做。它的解决方案是什么。

任何帮助?

感谢。

1 个答案:

答案 0 :(得分:0)

您需要在radiobutton的鼠标单击事件上触发jquery事件。 这是jquery代码

 $(document).ready(function () {
        $("#radioButtonID").click(function (e) {
            var radioButtonID = $("#radioButtonID").val();

            if (radioButtonID == 1) {
                $("#TextBoxId").css("visibility","visible");
            }
            else{
                $("#TextBoxId").css("visibility","hidden");
            }

这会对你有所帮助