javascript - jQuery:如何查找动态生成 id 的单选按钮是否被选中?

标签 javascript jquery

项目 ID 事先未知。我们只有在运行时才能知道这一点。

@foreach (var item in Model)  
     {  
         ...  
           <tr>
             <td>
                 @Html.RadioButton("Opinion_" + item.ID, "Agree") Agree
                 <br />
                 @Html.RadioButton("Opinion_" + item.ID, "Disagree") Disagree
                 <br />
                 @Html.RadioButton("Opinion_" + item.ID, "Neither") Neither  
             </td>
         </tr>
     }

<div>
     <textarea rows="5" cols="75" id="comments" name="comments"></textarea>
</div>

<p>
     <input type="submit" id="btnSubmit" />
</p>

这是我的脚本,我想检查单选按钮是否已被选中。
如果是,那么我想允许用户继续。
如果没有,我只想显示一条警报,表明他们尚未做出选择。

<script type="text/javascript">  
    $(document).ready(function () {  
        $('#btnSubmit').click(function (e) {  
            var isValid = true;
            if ($.trim($("#comments").val()) == '') {
                isValid = false;
            }
            if (isValid == false) {
                e.preventDefault();
                alert('Please explain your choices in the textbox provided.');
            }
        });
    });       
</script>

如何修改上述脚本来实现此目的?

最佳答案

由于每一行都可以有单选组,我认为你可以

<tr class="choice">
    <td>
        @Html.RadioButton("Opinion_" + item.ID, "Agree") Agree
        <br />
        @Html.RadioButton("Opinion_" + item.ID, "Disagree") Disagree
        <br />
        @Html.RadioButton("Opinion_" + item.ID, "Neither") Neither  
    </td>
</tr>

然后

$(document).ready(function () {
    $('#btnSubmit').click(function (e) {
        var isValid = true;
        if ($.trim($("#comments").val()) == '') {
            alert('Please explain your choices in the textbox provided.');
            isValid = false;
        }
        if ($('tr.choice').not(':has(:radio:checked)').length) {
            alert('Please select an option.');
            isValid = false;
        }
        if (isValid == false) {
            e.preventDefault();
        }
    });
});

演示:Fiddle

关于javascript - jQuery:如何查找动态生成 id 的单选按钮是否被选中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29224271/

相关文章:

javascript - 为什么我编辑发票时看不到我的发票项目?

jquery - WP 主题中的背景图像 slider - 父元素不透明度隐藏内容

jQuery 自动完成 "response"事件

jquery - Heroku PostgreSQL 更改 sortable_list POST?

javascript - 奇数/偶数表 strip 化 - 单页上的多个表

javascript - 为什么我的 parseFloat 函数不能正常工作?

javascript - 通过 JavaScript 将 Razor View 中的局部变量传递给 java 脚本函数,然后传递给 C# 方法

javascript - Node JS 中间件/路由数据传输

php - jQuery onClick 事件 "overrides"提交表单

javascript - 链接的位置元素