javascript - 检查是否在 jQuery 中选择了单选按钮时的奇怪行为

标签 javascript jquery asp.net-mvc radio-button

我在我的 jQuery 中进行了以下检查,我认为它可以正常工作以查看是否选中了单选按钮。

if ($("input[@name='companyType']:checked").attr('id') == "primary") {
   ...
}

这是单选按钮:

    <p>
        <label>Company Type:</label>
        <label for="primary"><input onclick="javascript: $('#sec').hide('slow');$('#primary_company').find('option:first').attr('selected','selected');" type="radio" name="companyType" id="primary" checked />Primary</label>
        <label for="secondary"><input onclick="javascript: $('#sec').show('slow');" type="radio" name="companyType" id="secondary" />Subsidiary</label>              
    </p>

然后,它突然停止工作(或者我是这么想的)。我做了一些调试,最后意识到它返回的是“approved_status”的 id。在我的表格的其他地方,我有一个名为“approved_status”的复选框。我意识到,当我最初测试它时,我必须在 approved_status 为假的记录上进行测试。而且,现在我的大多数 approved_statuses 都是 true/checked。

我把代码改成了这样:

var id = $("input:radio[@name='companyType']:checked").attr('id');
alert(id);
if (id == "primary") {

现在可以正确返回“primary”或“secondary”作为 id。

所以,它正在工作,但它似乎根本不检查名称,现在只检查单选按钮。我只是想知道以备将来使用,原始代码 b/c 有什么问题我可以看到页面上可能有 2 个不同的 radio ,然后我的新修复可能不起作用。谢谢!

最佳答案

试试这个:

var id = $("input[name='companyType']:checked").attr('id');
alert(id);
if (id == "primary") {

关于javascript - 检查是否在 jQuery 中选择了单选按钮时的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2706405/

相关文章:

javascript - asp.net View 中的模态框无法正常工作

用于 HTML 表单的 JavaScript

javascript - 是否有可以显示正在执行的 JS 的 Google Chrome 扩展程序?

javascript - KendoUI 过滤器 TreeView

c# - SignalR Hub 未执行指定的 javascript

javascript - 如何使用 jQuery 获取选择表单的输入值?

javascript - 在 Script.RenderFormat 中使用 join

c# - asp net如何实现动态本地化

javascript - 封闭件损坏 - 请帮我修复它

javascript - 在进入下一行之前,await 函数不会执行。 (异步/等待不起作用)