组中的复选框?

时间:2012-09-14 13:02:52

标签: php jquery

我需要使用我的复选框制作“群组”或其他内容。我想点击一个复选框,只有那些复选框处于活动状态,然后可用。喜欢在汽车配置中。如果您购买电动后视镜,则无法选择手动一体机。在我的情况下,我有产品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 个答案:

答案 0 :(得分: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');
});

})

<强> FIDDLE

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

});

Fiddle

答案 1 :(得分:0)

我认为您可能希望查看radio button类型

答案 2 :(得分: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.
}

答案 3 :(得分: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>