zoukankan      html  css  js  c++  java
  • 点击select下拉框获取option的属性值

    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对象的相互转换,我在博客中有分享,欢迎查看。

    补充:上面介绍的是最基本的方法,后来在项目中使用了简单的方法:

    //获取option文本

    $("#choice option:selected").text();

    //获取option的value值

    $("#choice option:selected").val();

    //获取option的属性值

    $("#choice option:selected").attr("属性");

  • 相关阅读:
    Chrome cookies folder
    Fat URLs Client Identification
    User Login Client Identification
    Client IP Address Client Identification
    HTTP Headers Client Identification
    The Personal Touch Client Identification 个性化接触 客户识别
    购物车 cookie session
    购物车删除商品,总价变化 innerHTML = ''并没有删除节点,内容仍存在
    453
    购物车-删除单行商品-HTMLTableElement.deleteRow()
  • 原文地址:https://www.cnblogs.com/web-panpan/p/7294775.html
Copyright © 2011-2022 走看看