Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 组中的复选框?_Php_Jquery - Fatal编程技术网

Php 组中的复选框?

Php 组中的复选框?,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

我需要用我的复选框做“组”之类的东西。我想点击一个复选框,只有那些复选框是活动的,然后可用。就像汽车配置一样。如果你买的是电动后视镜,你不能选择手动后视镜。在我的情况下,我有产品1A 1B 1C和2A 2B 2C,如果我选择产品一,我只能选择产品1A、1B、1C

<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>