jquery 操作 select 默认选择第一个元素

  问题:点击按钮设置select元素的默认选项。

  首先,有个环境,并引入jquery。

<!DOCTYPE html>
<html>
    <head>
        <meta charset='utf-8'>
        <script src='jquery-1.11.3.js'></script>
    </head>
    <body>
        <select id='s1' class='selector'>
            <option>1</option>
            <option>2</option>
            <option>3</option>
            <option>4</option>
        </select>
        
        <select id='s2' class='selector'>
            <option>1</option>
            <option>2</option>
            <option>3</option>
            <option>4</option>
        </select>
        
        <button onclick='resetValue()'>click me to reset select value</button>
        <script>
            function resetValue () {

            }
        </script>
    </body>
</html>

  接下来就要写方法了,其实思路很好懂,使用 jquery 也很 easy 来实现:

  1、首先找到 select 元素,这里我们给他一个 class 方便查找。

var selectArr = $('.selector');

  2、找到这个 select 数组后,通过 jquery 的 each() 方法进行遍历。第一个参数是下标位置,第二个参数是数组元素。

selectArr.each(function (i, j) {

})

  3、对于每个select元素,我们需要做的是对其下的第一个 option 标签进行设置选中

var options = $(j).find("option");
options.first().attr("selected", true);

  4、打开页面,点点,咦,怎么有点问题?哈,在设置选中前,要将之前选中项置 false。这里我就全 false 一下方便。

options.attr("selected", false);

  完成啦!

  最终方法内容:

function resetValue () {
    $('.selector').each(function (i, j) {
        var options = $(j).find("option");
        options.attr("selected", false);
        options.first().attr("selected", true);
    })
}

   再来简化下(将之前选中项置 false):

function resetValue () {
    $('.selector').each(function (i, j) {
        $(j).find("option:selected").attr("selected", false);
        $(j).find("option").first().attr("selected", true);
    })
}

 

posted @ 2017-05-04 12:57  名字不好起啊  阅读(41282)  评论(1编辑  收藏  举报