我在我的jQuery中进行了以下检查,我认为它正常工作以查看是否已选中单选按钮。
if ($("input[@name='companyType']:checked").attr('id') == "primary") {
...
}
这是radiobuttons:
<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为false的记录上进行测试。而且,现在我的大多数approved_statuses都是真的/已检查过。
我将代码更改为:
var id = $("input:radio[@name='companyType']:checked").attr('id');
alert(id);
if (id == "primary") {
现在它正确地将“主要”或“次要”作为身份返回。
所以,它正在工作,但它似乎根本没有检查名称,现在只是检查单选按钮。我只是想知道将来使用,原始代码b / c有什么问题我可以看到可能在页面上有2个不同的无线电设置然后我的新修复可能不起作用。谢谢!
答案 0 :(得分:2)
试试这个:
var id = $("input[name='companyType']:checked").attr('id');
alert(id);
if (id == "primary") {