我正在尝试使用jQuery检查onClick上的单选框,我的代码如下:
<ul class="icons clearfix">
<li>
<input type="radio" value="123456" name="selecticon"/>
<label for="select_icon">
<img src="pics/123456.jpg" alt="123456" width="34" height="34" />
</label>
</li>
<li>
<input type="radio" value="654321" name="selecticon" />
<label for="select_icon">
<img src="pics/654321.jpg" alt="654321" width="34" height="34" />
</label>
</li>
</ul>
和jQuery代码......
//onclick select icon
$(document).ready(function(){
$('ul.icons li').click(function() {
$('ul.icons li.selected').removeClass('selected');
$(this).addClass('selected').children("input[@type=radio]").attr('checked');
});
});
但点击它不检查单选按钮,请建议,谢谢。
答案 0 :(得分:4)
变化:
.attr('checked')
要:
.prop('checked', true)
您也可以使用.attr('checked', 'checked')
,但建议将prop()
用于checked
等布尔属性。
此处还需要围绕属性值的引号:
.children('input[@type="radio"]')
此外(不相关),for
的{{1}}属性必须与关联的输入<label>
匹配,而不是id
。
如果只是将整个内容包装在name
演示:http://jsfiddle.net/pUqBB/1/
另请参阅:How can I make an HTML radiobutton with a big target area?
编辑:好的,不确定您是否感兴趣但是我使用<label>
使用可访问版本重写了此内容,而js仅用于添加/删除<label>
类(因为我们做需要javascript那个位)。我在我的所有网站上都使用此代码,随意使用它(或指出改进):
selected
答案 1 :(得分:1)
问题在于这一行:
$(this).addClass('selected').children("input[@type=radio]").attr('checked');
首先,您应该引用属性选择器,而不再需要@
。
.children("input[type='radio']")
第二个.attr('checked')
是一个getter,它返回属性的值。如果要设置它,则需要将值作为第二个参数传递。
.attr('checked', 'checked')
您还可以使用.prop
来使用布尔值代替'checked'
。
.prop('checked', true)
所以,它们应该是:
$(this).addClass('selected').children("input[type='radio']").prop('checked', true);
注意:<label>
标记用于按ID选择输入字段。因此,您可以使用它们来切换无线电。此外,如果无线电具有相同的名称,则一次只能检查一个。因此,请为您的无线电添加唯一ID,并为其设置标签for
属性。像这样:
<input type="radio" value="123456" name="selecticon" id="selecticon_01"/>
<label for="selecticon_01">
<img src="pics/123456.jpg" alt="123456" width="34" height="34" />
</label>
那么,你只需要$(this).addClass('selected')
。
答案 2 :(得分:0)
$(this).addClass('selected').children("input[@type=radio]").attr('checked', 'checked');
添加了工作fiddle。
答案 3 :(得分:0)
request.AddHeader("Authorization", $"amx {apiKey}:{requestSignatureBase64String}:{nonce}");
无效。
"Success":false,"Error":"Signature does not match request parameters."
应该有用。
.children