【问题标题】:odd behavior when checking if radio button selected in jQuery检查是否在 jQuery 中选择了单选按钮时的奇怪行为
【发布时间】:2011-02-11 23:31:13
【问题描述】:

我在我的 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>

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

我把代码改成这样:

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

它现在正确地返回“主要”或“次要”作为 id。

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

【问题讨论】:

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


    【解决方案1】:

    试试这个:

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

    【讨论】:

    • 成功了。谢谢! @ 代表什么?我使用@ 在网络上的多个地方看到过这段代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    • 2015-08-07
    • 2013-03-09
    • 2021-10-21
    • 1970-01-01
    • 2016-09-26
    • 2019-08-11
    相关资源
    最近更新 更多