我有一个我提交的表单,它有多个复选框。表单是用户定义的,因此它必须能够适应任何大小。我有一个" Addons"我正在使用。表单在复选框中显示插件,每个插件有4个选项。他们可以在每个插件上选择一个选项(jQuery以限制选中的一个checkox)但不需要任何选项。
我遇到的问题是当他们提交表单时,如果第一个复选框没有选中选项而其余部分未通过,因为它来自列表/集合如何使这些复选框可选并将数据传递给我控制器?
<h1>Pick Your Extras To Make It More Special</h1>
<fieldset>
<ul>
<li>Extra <br /><img src="UPS_30484.jpg" /></li>
<li><label>One <br /> $1.25<br /> <input type="checkbox" name="Addons[0]" value="1" class="addon-checkboxes"></label></li>
<li><label>Two <br /> $2.50<br /> <input type="checkbox" name="Addons[0]" value="2" class="addon-checkboxes"></label></li>
<li><label>Tree <br /> $3.00<br /> <input type="checkbox" name="Addons[0]" value="3" class="addon-checkboxes"></label></li>
<li><label>Four <br /> $4.00<br /> <input type="checkbox" name="Addons[0]" value="4" class="addon-checkboxes"></label></li>
</ul>
</fieldset>
<fieldset>
<ul>
<li>Extra 2 <br /><img src="UPS_30484.jpg" /></li>
<li><label>One <br /> $2.50<br /> <input type="checkbox" name="Addons[1]" value="5" class="addon-checkboxes"></label></li>
<li><label>Two <br /> $5.00<br /> <input type="checkbox" name="Addons[1]" value="6" class="addon-checkboxes"></label></li>
<li><label>Three <br /> $7.50<br /> <input type="checkbox" name="Addons[1]" value="7" class="addon-checkboxes"></label></li>
<li><label>Four <br /> $10.00<br /> <input type="checkbox" name="Addons[1]" value="8" class="addon-checkboxes"></label></li>
</ul>
</fieldset>
<fieldset>
<ul>
<li>Candy <br /><img src="30484.jpg" /></li>
<li><label>Small<br /> $5.00<br /> <input type="checkbox" name="Addons[2]" value="13" class="addon-checkboxes"></label></li>
<li><label>Medium<br /> $10.00<br /> <input type="checkbox" name="Addons[2]" value="14" class="addon-checkboxes"></label></li>
<li><label>Large<br /> $15.00<br /> <input type="checkbox" name="Addons[2]" value="15" class="addon-checkboxes"></label></li>
<li><label>Bucket<br /> $20.00<br /> <input type="checkbox" name="Addons[2]" value="16" class="addon-checkboxes"></label></li>
</ul>
</fieldset>
每个值表示数据库中具有addon产品外键的价格。所以我得到了一个Addons列表,但是当Addons[0]
没有选择内容时,Addons[1]
和Addons[2]
也没有提交。如果选择了所有值,则值会进入控制器,但我需要这些值是可选的。
提交时的视图模型:
public class ProductToCartViewModel : BaseObject
{
[Required]
public int Price { get; set; }
public int[] Addons { get; set; }
public string DeliveryZipCode { get; set; }
public DateTime DeliveryDate { get; set; }
public ApplicationUser User { get; set; }
}
答案 0 :(得分:0)
如果用户只能从4个选项中选择一个选项,我认为你应该使用无线电而不是复选框。当您说“如果第一个复选框没有选中选项”时,您是指每个4个插件选项的第一个复选框吗?或者来自3个附加组?