我想点击他的图片时选择单选按钮但是它不起作用。 这就是我尝试过的:
<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 =&#34;&#34; 属性:对于图像和输入,是否有任何方法可以在输入(该无线电)时进行检查我点击图片?
谢谢
更新 我找到了一些有效的代码,但只有三次点击图片,所以当点击到最后一个脚本停止时,不能再选择第一个或第二个,我不知道为什么......我认为必须取消选中所有单选按钮,然后选中一个选中... 有人可以帮我这个吗?
jQuery(".mydata").click(function(){
jQuery(this).parent().children("input").attr('checked','true');
})
答案 0 :(得分:2)
此jquery代码可以帮助您:
$("a").click(function() {
$(this).next().prop("checked", true);
});
演示:http://jsfiddle.net/k5rkxkos/
<强>更新强>
在纯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;
}
}
演示:http://jsfiddle.net/k5rkxkos/1/
<强>更新强>
根据您的更改,这是更新的代码:
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;
}
}
注意:您必须添加输入name
属性。
答案 1 :(得分:1)
$("a").click(function(){
$(this).next("input[type=radio]").prop("checked", true);
});
答案 2 :(得分:1)
试试这个:
<input type="radio" id="radio_1" />
<label for="radio_1"><img src="image.jpg" id="radio_1" /></label>
<label for="radio_1">Radio - 1</label>
答案 3 :(得分:0)
如果您在单选按钮上从数据库中选择图像名称。 在本例中,我从数据库中获取图像并将它们用于下一个 SQL 查询。或者,如果您想通过单击图像来选择单选按钮,那么您需要设置 input id="value" 并设置 label for="value"(这意味着对输入值和标签值使用相同的值)您看代码就能理解。
<?php
$sql = "SELECT `img` FROM `table_name`";
$result_sql = mysqli_query($conn, $sql);
while ($row = $result_sql -> fetch_assoc()) {
$img = $row['img']; ?>
<input type="radio" name="img_name" value="<?= $img ?>" id="<?= $img ?>">
<label for="<?= $img ?>"><img style="width:100px;" src='../upload/<?= $img ?>'></label>
<?php } ?>