Php 组中的复选框?
我需要用我的复选框做“组”之类的东西。我想点击一个复选框,只有那些复选框是活动的,然后可用。就像汽车配置一样。如果你买的是电动后视镜,你不能选择手动后视镜。在我的情况下,我有产品1A 1B 1C和2A 2B 2C,如果我选择产品一,我只能选择产品1A、1B、1CPhp 组中的复选框?,php,jquery,Php,Jquery,我需要用我的复选框做“组”之类的东西。我想点击一个复选框,只有那些复选框是活动的,然后可用。就像汽车配置一样。如果你买的是电动后视镜,你不能选择手动后视镜。在我的情况下,我有产品1A 1B 1C和2A 2B 2C,如果我选择产品一,我只能选择产品1A、1B、1C <input type="checkbox" value="">1A</label> <input type="checkbox" value="">1B</label> <inpu
<input type="checkbox" value="">1A</label>
<input type="checkbox" value="">1B</label>
<input type="checkbox" value="">1C</label>
<input type="checkbox" value="">2A</label>
<input type="checkbox" value="">2B</label>
<input type="checkbox" value="">2C</label>
1A
1B
1C
2A
2B
2C
我认为您可能希望查看类型,而不是使用复选框,您应该在PHP代码中将它们作为数组进行寻址,并给它们一个名称
属性(PHP就是这样看待它们的):
HTML
在OP的评论之后添加
这是注释后的代码,如果我选择1A,我也可以单击1B和1C,但不能单击2A、2B和2C*
HTML
html<input type="checkbox" class='group1' value=""/>1A
<input type="checkbox" class='group1' value=""/>1B
<input type="checkbox" class='group1' value=""/>1C
<input type="checkbox" class='group2' value=""/>2A
<input type="checkbox" class='group2' value=""/>2B
<input type="checkbox" class='group2' value=""/>2C
<br/>
1A
1B
1C
2A
2B
2C
jquery
<br />
<script>
$(function(){
var $product=$('input:checkbox');
$product.click(function() {
$product.attr('checked',false);
var classname=$(this).attr('class');
$('.'+classname).attr('checked','checked');
});
});
</script>
$(函数(){
var$product=$('input:checkbox');
$product.click(函数(){
$product.attr('checked',false);
var classname=$(this.attr('class');
$('..+classname).attr('checked','checked');
});
});
我怎么能做到,我不喜欢这种东西:/。如果我选择了产品1中的一个,然后隐藏其余的组,如何取消激活产品2?是否确实要使用复选框?你不能使用一个下拉列表,它的值取决于所选的产品吗?我想他希望,一旦他选择了产品一,只能检查1A->1C。2A->2C变成某种只读。vicrabb是对的!这就是我想要的。所以我不能使用单选按钮,因为在那里我只能选择一个。不完全是,如果我选择1A,我也可以单击1B和1C,但不能单击2A、2B、2C。我们正在接近,但我只能单击产品2(或1)的一个prodcut。应该可以同时单击2A、2B、2C。A有什么方法可以动态地做到这一点吗?我不知道会有多少产品组……用这种方式,我必须添加许多jquery代码^^^^是的,就像这样!有没有想过在不为每个组创建函数的情况下对更多productgroups执行此操作?看起来不错,但必须能够只检查一个或两个。不是每次都是三个:(一个或两个..我不明白你…:)所以如果我检查一下,说1A。。应该检查哪一个。。在我的情况下,它检查所有三个。。。1A、1B、1C。。。。如果你只想检查其中的两个。。。至少我认为,你应该先检查哪两个。。
<input type="checkbox" class='product' value=""/>1A
<input type="checkbox" class='product' value=""/>1B
<input type="checkbox" class='product' value=""/>1C
<input type="checkbox" class='product' value=""/>2A
<input type="checkbox" class='product' value=""/>2B
<input type="checkbox"class='product' value=""/>2C
$(function(){
var $product = $('input.product');
$product.click(function() {
$product.filter(':checked').not(this).removeAttr('checked');
});
})
<input type="checkbox" class='one' value=""/>1A
<input type="checkbox" class='one' value=""/>1B
<input type="checkbox" class='one' value=""/>1C<br/>
<input type="checkbox" class='two' value=""/>2A
<input type="checkbox" class='two' value=""/>2B
<input type="checkbox" class='two' value=""/>2C
$(function(){
var $one= $('input.one');
$one.click(function() {
$one.filter(':checked').not(this).removeAttr('checked');
if($one.filter(':checked').length>0) {
$two.attr("disabled","disabled");
}
else {
$two.removeAttr("disabled");
}
});
var $two= $('input.two');
$two.click(function() {
$two.filter(':checked').not(this).removeAttr('checked');
if($two.filter(':checked').length>0) {
$one.attr("disabled","disabled");
}
else {
$one.removeAttr("disabled");
}
});
});
<input type="checkbox" class='group1' value=""/>1A
<input type="checkbox" class='group1' value=""/>1B
<input type="checkbox" class='group1' value=""/>1C
<input type="checkbox" class='group2' value=""/>2A
<input type="checkbox" class='group2' value=""/>2B
<input type="checkbox" class='group2' value=""/>2C
<br/>
<br />
<script>
$(function(){
var $product=$('input:checkbox');
$product.click(function() {
$product.attr('checked',false);
var classname=$(this).attr('class');
$('.'+classname).attr('checked','checked');
});
});
</script>