将Select Object传递给函数然后使用jQuery进行处理

时间:2014-01-10 22:20:34

标签: jquery

在选择了选项时,我在页面上有几个选择对象需要相同类型的处理。所以,我想将Select Object(s)传递给一个通用函数,所以我只需要编写一次处理。我在onchange()事件中这样做,如下所示:

<select name="dropDown1" id="dropDown1" onchange="processData(this);">

我现在想知道的是,如何从作为参数传递的Object中获取以下内容:

function processData(obj) {
    // Need to access .index(), .val() and .text() of the obj param
}

这是一个完整的模型:

<!doctype html>
<html>
    <head>
        <title></title>
        <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
        <script>
            function processData(obj) {
                // Need to access .index(), .val() and .text() of the obj param
                // Like the following: 
                // var indx = $("select[name='dropDown1'] option:selected").index();
                // ...
            }
        </script>
    </head>   
    <body>
        <div id="container" class="container">
            <select name="dropDown1" id="dropDown1" onchange="processData(this);">
                <option value="1">Red</option>
                <option value="2">Green</option>
                <option value="3">Blue</option>
            </select>
        </div>
    </body>
</html>

感谢任何指导。

1 个答案:

答案 0 :(得分:0)

非常简单:

var value = $(obj).val();
// or
var value = obj.value;

var text = $(obj).children('option:selected').text();

var index = $(obj).children('option:selected').index();
// or
var index = obj.selectedIndex;

但是如果您已经在使用jQuery,那么您还应该使用jQuery附加事件处理程序。