我想在单击他的图像时选择单选按钮,但它不起作用。
这是我尝试过的:
<ul id="options-31-list" class="options-list">
<li>
<a class="mydata" href="" data="84">
<img class="small-image-preview" src="value_id/84/file/o2.jpg/">
</a>
<input class="radio validate-one-required-by-name product-custom-option" type="radio" data="84" value="84" onclick="opConfig.reloadPrice();">
</li>
<li>
<a class="mydata" href="" data="85">
<img class="small-image-preview" src="value_id/85/file/vodafone.jpg/">
</a>
<input class="radio validate-one-required-by-name product-custom-option" type="radio" data="85" value="85" onclick="opConfig.reloadPrice();">
</li>
<li>
<a class="mydata" href="" data="86">
<img class="small-image-preview" src="value_id/86/file/t-mobile.jpg/">
</a>
<input class="radio validate-one-required-by-name product-custom-option" type="radio" data="86" value="86" onclick="opConfig.reloadPrice();">
</li>
</ul>
我有同样的data=""两者的属性:对于图像和输入,有什么方法可以在单击图像时检查输入(该无线电)?
谢谢
UPDATE:我发现一些代码可以工作,但仅适用于图像上的三次单击,因此当单击最后一个时,脚本停止,无法再次选择第一个或第二个,我不知道为什么......我认为必须取消选中所有单选按钮,然后选中所选的一个...
有人可以帮我弄这个吗?
jQuery(".mydata").click(function(){
jQuery(this).parent().children("input").attr('checked','true');
})
这个 jquery 代码可以帮助你:
$("a").click(function() {
$(this).next().prop("checked", true);
});
Demo: http://jsfiddle.net/k5rkxkos/ http://jsfiddle.net/k5rkxkos/
Update
在纯Javascript中(因为你说你不是jquery专家;)),你可以这样做:
var a = document.getElementsByTagName("a");
for ( var i = 0; i < a.length; i++ ) {
a[i].onclick = function() {
var id = this.getAttribute("data-id");
document.getElementById(id).checked = true;
}
}
Demo: http://jsfiddle.net/k5rkxkos/1/ http://jsfiddle.net/k5rkxkos/1/
Update
这是根据您的更改更新的代码:
var a = document.getElementsByTagName("a");
for ( var i = 0; i < a.length; i++ ) {
a[i].onclick = function(e) {
e.preventDefault();
var id = this.getAttribute("data");
document.querySelector('input[data="' + id +'"]').checked = true;
}
}
Note: 必须添加输入name
属性。
Demo http://jsfiddle.net/k5rkxkos/2/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)