field-select
Lớp vỏ của field bọc quanh một select gốc. Quá mười lựa chọn thì select bật hộp kết hợp có lọc trong select.js; thứ biểu mẫu gửi đi vẫn là select gốc.
Ba lựa chọn: select gốc
Đặt đoạn này bên trong <section rst-box><form rst-form>.
<div rst-field >
<label rst-field-label for ="sel_few" >Vai trò</label >
<select rst-input id ="sel_few" name ="sel_few" >
<option value ="admin" selected >Quản trị viên</option >
<option value ="editor" >Biên tập viên</option >
<option value ="member" >Thành viên</option >
</select >
</div >
Đặt đoạn này bên trong <section rst-box><form rst-form>.
{{ template "field-select" dict
"ID" "sel_few"
"Name" "sel_few"
"Label" "Vai trò"
"Options" (list
(dict "Label" "Quản trị viên" "Selected" true "Value" "admin" )
(dict "Label" "Biên tập viên" "Value" "editor" )
(dict "Label" "Thành viên" "Value" "member" ))}}
Mười hai lựa chọn: hộp chọn có lọc
Đặt đoạn này bên trong <section rst-box><form rst-form>.
<div rst-field >
<label rst-field-label for ="sel_many" >Thành phố</label >
<select rst-input id ="sel_many" name ="sel_many" data-rst-select data-rst-select-filter ="Nhập để lọc" data-rst-select-results ="{n} kết quả" data-rst-select-result-one ="1 kết quả" data-rst-select-no-matches ="Không có kết quả phù hợp" aria-describedby ="sel_many-help" >
<option value ="dublin" selected >Dublin</option >
<option value ="lisbon" >Lisbon</option >
<option value ="madrid" >Madrid</option >
<option value ="berlin" >Berlin</option >
<option value ="rome" >Roma</option >
<option value ="athens" >Athens</option >
<option value ="helsinki" >Helsinki</option >
<option value ="reykjavík" >Reykjavík</option >
<option value ="warsaw" >Warszawa</option >
<option value ="zagreb" >Zagreb</option >
<option value ="tallinn" >Tallinn</option >
<option value ="valletta" >Valletta</option >
</select >
<p rst-field-help id ="sel_many-help" >Bắt đầu gõ để lọc.</p >
</div >
Đặt đoạn này bên trong <section rst-box><form rst-form>.
{{ template "field-select" dict
"ID" "sel_many"
"Name" "sel_many"
"Label" "Thành phố"
"Options" (list
(dict "Label" "Dublin" "Selected" true "Value" "dublin" )
(dict "Label" "Lisbon" "Value" "lisbon" )
(dict "Label" "Madrid" "Value" "madrid" )
(dict "Label" "Berlin" "Value" "berlin" )
(dict "Label" "Roma" "Value" "rome" )
(dict "Label" "Athens" "Value" "athens" )
(dict "Label" "Helsinki" "Value" "helsinki" )
(dict "Label" "Reykjavík" "Value" "reykjavík" )
(dict "Label" "Warszawa" "Value" "warsaw" )
(dict "Label" "Zagreb" "Value" "zagreb" )
(dict "Label" "Tallinn" "Value" "tallinn" )
(dict "Label" "Valletta" "Value" "valletta" ))
"Help" "Bắt đầu gõ để lọc." }}
Quá mười lựa chọn thì mảnh này bật select.js. Dưới mười thì không: tìm kiếm trong dăm ba mục là đồ trang trí, không phải trợ giúp.
Mười hai lựa chọn, Plain: đã từ chối phần tăng cường
Đặt đoạn này bên trong <section rst-box><form rst-form>.
<div rst-field >
<label rst-field-label for ="sel_plain" >Thành phố</label >
<select rst-input id ="sel_plain" name ="sel_plain" >
<option value ="dublin" selected >Dublin</option >
<option value ="lisbon" >Lisbon</option >
<option value ="madrid" >Madrid</option >
<option value ="berlin" >Berlin</option >
<option value ="rome" >Roma</option >
<option value ="athens" >Athens</option >
<option value ="helsinki" >Helsinki</option >
<option value ="reykjavík" >Reykjavík</option >
<option value ="warsaw" >Warszawa</option >
<option value ="zagreb" >Zagreb</option >
<option value ="tallinn" >Tallinn</option >
<option value ="valletta" >Valletta</option >
</select >
</div >
Đặt đoạn này bên trong <section rst-box><form rst-form>.
{{ template "field-select" dict
"ID" "sel_plain"
"Name" "sel_plain"
"Label" "Thành phố"
"Options" (list
(dict "Label" "Dublin" "Selected" true "Value" "dublin" )
(dict "Label" "Lisbon" "Value" "lisbon" )
(dict "Label" "Madrid" "Value" "madrid" )
(dict "Label" "Berlin" "Value" "berlin" )
(dict "Label" "Roma" "Value" "rome" )
(dict "Label" "Athens" "Value" "athens" )
(dict "Label" "Helsinki" "Value" "helsinki" )
(dict "Label" "Reykjavík" "Value" "reykjavík" )
(dict "Label" "Warszawa" "Value" "warsaw" )
(dict "Label" "Zagreb" "Value" "zagreb" )
(dict "Label" "Tallinn" "Value" "tallinn" )
(dict "Label" "Valletta" "Value" "valletta" ))
"Plain" true }}
Bắt buộc, kèm lỗi
Đặt đoạn này bên trong <section rst-box><form rst-form>.
<div rst-field >
<label rst-field-label for ="sel_error" >Vai trò</label >
<select rst-input id ="sel_error" name ="sel_error" required aria-invalid ="true" aria-describedby ="sel_error-error" >
<option value ="admin" selected >Quản trị viên</option >
<option value ="editor" >Biên tập viên</option >
<option value ="member" >Thành viên</option >
</select >
<p rst-field-error id ="sel_error-error" role ="alert" >Chọn một vai trò cho người này.</p >
</div >
Đặt đoạn này bên trong <section rst-box><form rst-form>.
{{ template "field-select" dict
"ID" "sel_error"
"Name" "sel_error"
"Label" "Vai trò"
"Options" (list
(dict "Label" "Quản trị viên" "Selected" true "Value" "admin" )
(dict "Label" "Biên tập viên" "Value" "editor" )
(dict "Label" "Thành viên" "Value" "member" ))
"Required" true
"Error" "Chọn một vai trò cho người này." }}
Viết tay, có optgroup
Đặt đoạn này bên trong <section rst-box><form rst-form>.
<div rst-field >
<label rst-field-label for ="sel_grouped" >Khu vực</label >
<select rst-input id ="sel_grouped" name ="sel_grouped" data-rst-select data-rst-select-filter ="Nhập để lọc" data-rst-select-results ="{n} kết quả" data-rst-select-result-one ="1 kết quả" data-rst-select-no-matches ="Không có kết quả phù hợp" >
<optgroup label ="Châu Âu" >
<option value ="dublin" selected >Dublin</option >
<option value ="lisbon" >Lisbon</option >
<option value ="warsaw" >Warszawa</option >
</optgroup >
<optgroup label ="Châu Mỹ" >
<option value ="montreal" >Montréal</option >
<option value ="lima" >Lima</option >
<option value ="austin" >Austin</option >
</optgroup >
<optgroup label ="Châu Á" >
<option value ="osaka" >Osaka</option >
<option value ="hanoi" >Hà Nội</option >
<option value ="dhaka" >Dhaka</option >
</optgroup >
<optgroup label ="Châu Phi" >
<option value ="accra" >Accra</option >
<option value ="nairobi" >Nairobi</option >
<option value ="tunis" >Tunis</option >
</optgroup >
</select >
</div >
Options ở đây là một danh sách phẳng, nên các lựa chọn theo nhóm là phần mã do ứng dụng tự viết. select.js dựng các nhóm chứ không bỏ đi; một select viết tay cũng có thể từ chối hẳn phần tăng cường bằng data-rst-select="false".