Checkbox Yii动态复选框

Checkbox Yii动态复选框,checkbox,yii2,Checkbox,Yii2,我的表中有一列名为“availability_option”,类型为enum('0','1','2')。零表示“固定价格”,一表示“拍卖”,两表示“两者”。 我想动态生成两个复选框,一个用于固定价格,另一个用于“拍卖”。 怎么可能呢? 我把它弄坏了。 但它不应该是yii的正确语法 <input value="0" id="fixedprice" type="checkbox" name="ProductShop[availability_option][]"> <label f

我的表中有一列名为“availability_option”,类型为enum('0','1','2')。零表示“固定价格”,一表示“拍卖”,两表示“两者”。 我想动态生成两个复选框,一个用于固定价格,另一个用于“拍卖”。 怎么可能呢? 我把它弄坏了。 但它不应该是yii的正确语法

<input value="0" id="fixedprice" type="checkbox" name="ProductShop[availability_option][]">
<label for="fixedprice">Fixed Price</label>
<input value="1" id="auctionprice" type="checkbox" name="ProductShop[availability_option][]">
<label for="auctionprice">Auction</label>

固定价格
拍卖
我想要动态的,那怎么可能呢?有什么想法吗?

使用
checkboxList()



我也面临同样的问题,我通过这样做解决了这个问题:

<?php echo $form->field($model, 'name[]')->checkboxList(['a' => 'Item A', 'b' => 'Item B', 'c' => 'Item C']); ?>

请注意,复选框列表要求传递的数组的第一个参数也是字符串类型,因此您可能需要对数组进行更改

生成的HTML将如下所示:

<label><input type="checkbox" name="fomrmName[name][]" value="'1'"> a</label>
a
我解决问题的另一种方法是在foreach块中包装复选框,如下所示:

<?php foreach($vendorsData as $value){?>
<li><?= $form->field($ucVendors, 'vendor_id['.$value.']')->checkbox(array('label'=>$value)); ?>

  • 生成的html如下所示:

    <label><input type="checkbox" id="usedcarvendors-vendor_id-value" name="UsedCarVendors[vendor_id][value]" value="1"> value</label>
    

    使用此选项,我的复选框不显示,但文本可见。@subbankarbhattacharjee删除内联不需要。我已经测试过了,显示您是如何尝试的。使用复选框列表yii动态创建div和标签。是否可以删除这些标签并在这些标签上添加标签?如果可能的话,我的问题就会解决。
    <label><input type="checkbox" id="usedcarvendors-vendor_id-value" name="UsedCarVendors[vendor_id][value]" value="1"> value</label>