当前位置: 代码迷 >> Ruby/Rails >> Ruby form表单单选框跟复选框
  详细解决方案

Ruby form表单单选框跟复选框

热度:873   发布时间:2016-04-29 02:08:10.0
Ruby form表单单选框和复选框

复选框是一种表单控件,给用户一些选项,可用于启用或禁用某项功能。

<%= check_box_tag(:pet_dog) %><%= label_tag(:pet_dog, "I own a dog") %><%= check_box_tag(:pet_cat) %><%= label_tag(:pet_cat, "I own a cat") %>

?生成的 HTML 如下:

?

?

?

<input id="pet_dog" name="pet_dog" type="checkbox" value="1" /><label for="pet_dog">I own a dog</label><input id="pet_cat" name="pet_cat" type="checkbox" value="1" /><label for="pet_cat">I own a cat</label>

?

?check_box_tag?方法的第一个参数是?name?属性的值。第二个参数是?value?属性的值。选中复选框后,value?属性的值会包含在提交的表单数据中,因此可以通过?params?获取。

?

?

?

?

单选框

单选框有点类似复选框,但是各单选框之间是互斥的,只能选择一组中的一个:

?

<%= radio_button_tag(:age, "child") %><%= label_tag(:age_child, "I am younger than 21") %><%= radio_button_tag(:age, "adult") %><%= label_tag(:age_adult, "I'm over 21") %>

?生成的 HTML 如下:

?

?

?

?

<input id="age_child" name="age" type="radio" value="child" /><label for="age_child">I am younger than 21</label><input id="age_adult" name="age" type="radio" value="adult" /><label for="age_adult">I'm over 21</label>

?check_box_tag?方法一样,radio_button_tag?方法的第二个参数也是?value?属性的值。因为两个单选框的?name?属性值一样(都是?age),所以用户只能选择其中一个单选框,params[:age]?的值不是"child"?就是?"adult"

注意:复选框和单选框一定要指定 label 标签。label 标签可以为指定的选项框附加文字说明,还能增加选项框的点选范围,让用户更容易选中。

  相关解决方案