select下拉列表相關
阿新 • • 發佈:2021-12-02
select
屬性列表
屬性名 | 屬性值 | 描述 |
---|---|---|
autofocus | autofocus | 頁面載入完成之後,該文字區域自動獲得焦點 |
disabled | disabled | 禁用該下拉列表 |
form | form_id | 規定該文字區域所屬的一個 或 多個表單【見下述 舉例2】 |
multiple | multiple | 表示該下拉列表 可以選擇多個選項<ctrl + 左鍵選擇,更推薦使用複選框> |
name | name | 規定下拉列表的名稱 |
required | <所有主流瀏覽器都不支援該屬性> | |
size | number | 下拉框可見選項的數目 預設是1 |
舉例:
<!-- 下拉框可見選項為2 --> <select autofocus size=2 miltiple> <option>籃球</option> <option>足球</option> <option>檯球</option> <option>網球</option> </select> <!-- 被禁用 --> <select disabled> <option>11</option> <option>2</option> </select>
效果如圖:
option
與select標籤配合使用,否則是沒有意義的
屬性列表
屬性 | 值 | 描述 |
---|---|---|
disabled | 規定此選項應該在首次載入時被禁用 | |
label | 與optgroup 標籤組合使用,當下拉框選項很多時,進行一次分類 | |
selected | 表明預設選擇哪一項,如果多個option標籤有這個屬性,優先後面的 | |
value | 定義傳送到請求的值 |
value屬性
:比如某個form表單中,某一項是通過下拉列表選擇的,這裡選擇<option value='1'>張三<option />
,form表單該select標籤發到服務端對應的資料為 1,而不是張三
舉例1:
<select autofocus>
<optgroup label="球類運動">
<option disabled>籃球</option>
<option disabled>足球</option>
<option>檯球</option>
<option >網球</option>
<option selected>壘球</option>
<!-- 多個option 有selected,選後面的 -->
<option selected>乒乓球</option>
</optgroup>
<optgroup label="田徑">
<option>100米</option>
<option>跳高</option>
<option>鉛球</option>
</optgroup>
</select>
在瀏覽器的效果如下:
value
屬性
定義送往伺服器的選項值。如果沒有顯示宣告該值,則預設為文字內容
比如: 如果這時候 選擇的是科比,去獲取id為"demo"的select標籤的 val() ,得到的是“科比”,但是如果選擇的是詹姆斯,去獲取id為"demo"的select標籤的 val() ,得到的是“james”
<select id="demo">
<option>科比</option>
<option value="james">詹姆斯</option>
</select>
舉例2:
<form id="form_id">
<input type="button" id="test_btn" value="測試一下"/>
</form>
<!-- 這裡可以在表單外定義一個下拉框,只要該下拉框的 form屬性=對應form表單的id[可以選擇多個form] 這個資料還是會和form表單其他資料一同傳送 -->
<select autofocus form="form_id" id="my_select">
<optgroup label="球類運動">
<option disabled value="1">籃球</option>
<option disabled value="2">足球</option>
<option value="3">檯球</option>
<option value="4" >網球</option>
<option value="5" selected>壘球</option>
<option value="6" selected>乒乓球</option>
</optgroup>
<optgroup label="田徑">
<option value="7">100米</option>
<option value="8">跳高</option>
<option value="9">鉛球</option>
</optgroup>
</select>
<script src="D:\study\demo\jquery-1.12.4.js"></script>
<script>
$(function(){
$("#test_btn").click(function(){
// 選擇下拉列表之後,傳遞過去的值是 對應<option>的 value屬性的值
console.log($("#my_select").val());
// text()是看所有的內容,val()是看的傳遞的值
console.log($("#my_select").text());
})
})
</script>
效果如下圖:
關於下拉列表的預設選擇問題
需求:比如編輯某個學生資訊,是需要先帶出該學生的所有資訊,比如所屬班級,所屬班級是一個下拉框,需要預設選擇該學生所處的班級
<select id="demo">
<option>1班</option>
<option selected>2班</option>
<option>3班</option>
<option value="4">4班</option>
</select>
<input type="button" value="切換預設選項" class="button" />
<script src="D:\study\demo\jquery-1.12.4.js"></script>
<script>
$(function(){
$(".button").click(function(){
// 知識點: 通過jquery 修改select標籤的value="改的值", 如果該select下的option的value有等於該值的,就預設展示該值
// 後端返回該學生的所屬班級id,這裡只需要設定 下拉列表的對應value = 班級id 就可以滿足需求
$("#demo").val("4");
// 如過要點選按鈕就變成3班,由於這個option沒有顯示的宣告value,就需要修改為 $("#demo").val("3班");
})
})
</script>
實現效果如下: