1. 程式人生 > >點擊select下拉框獲取option的屬性值

點擊select下拉框獲取option的屬性值

添加 對象 logs 調用 wid cti 渲染 pre con

select下拉框作為前端開發者應該是經常使用的,最近在項目中遇到這樣的情況,點擊下拉框選項,需要獲取所點擊的option的屬性值,當時想很簡單啊,給option加一個點擊事件不就行了,然後就加了一下,結果一運行悲催了,怎麽點擊option事件就是不會執行。這是為什麽呢,剛開始也不懂,之前沒遇到過這樣的需求,後來經過學習,才恍然大悟,原來select option沒有點擊事件,要想獲得所選option的屬性值,需要通過jquery的change()方法來獲取,下面通過代碼解釋一下,代碼如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <!-- 告訴IE使用最新的引擎渲染網頁 -->
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title></title>
    </head>
    <body>
        <div>
            <select id="choice">
                <option value="1">東方1</option>
                <option value="2">東方2</option>
                <option value="3">東方3</option>
                <option value="4">東方4</option>
            </select>
        </div>
    </body>
    <script src="js/jquery-2.1.4.min.js"></script>
    <script>
        $(
"#choice").change(function () { let $dom = $("#choice"); let index = $dom[0].options[$dom[0].selectedIndex].value; alert(index); }); </script> </html>

如上面代碼所示,給select添加change()方法,用來監聽下拉框的變化,當點擊下拉框option進行選擇時,select發生變化,觸發change()事件,$dom[0].selectedIndex表示點擊option的索引值,select option的索引值默認從0開始,$dom[0].options[$dom[0].selectedIndex]表示所點擊option對象,取到對象之後就可以取相應的屬性值了。在這裏用到$dom[0],是因為selectedIndex和options是dom的屬性,只有dom對象才能去調用,所以在這裏進行了jquery對象的轉換。至於jquery對象和dom對象的相互轉換,我在博客中有分享,歡迎查看。

點擊select下拉框獲取option的屬性值