0

我需要用我的复选框制作“组”或其他东西。我想点击一个复选框,只有那些复选框处于活动状态,然后可用。就像在汽车配置中一样。如果您购买电动镜,则不能选择手动镜。在我的情况下,我有产品 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>
4

4 回答 4

2

HTML

<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

jQuery

$(function(){
 var $product = $('input.product');
$product.click(function() {
    $product.filter(':checked').not(this).removeAttr('checked');
});

})

小提琴

在OP评论后添加

这是注释后的代码,如果我选择 1A,我也可以点击 1B 和 1C,但不能点击 2A、2B、2C *

HTML

<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

jQuery

$(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");
    }
});

});

小提琴

于 2012-09-14T13:09:59.377 回答
0

我认为您可能想查看单选按钮类型

于 2012-09-14T13:06:14.853 回答
0

如果你使用复选框,你应该在你的 PHP 代码中将它们作为一个数组来处理,并给它们一个name属性(这是 PHP 看到它们的方式):

<input type="checkbox" name ="checkbox1" value="">1A</label>

在您的 PHP 代码中:

$checkArray=$_REQUEST['checkbox1'];
foreach($checkArray as $val)
{
    echo $val;// Value is echo'ed.
}
于 2012-09-14T13:06:31.313 回答
0

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

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>
于 2012-09-14T13:44:44.343 回答