【发布时间】: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