获取选择ID onchange Jquery

时间:2016-09-20 13:11:17

标签: jquery

在我的应用程序中,我试图在访问onchange函数时获取选择框的id。 这里有两个选择框,都指向相同的功能检查。选择这两个选择框时,如何获得选择框的ID。示例1和示例2.

<select id="example1" onchange='check()'>
    <option value="1">one</option>
    <option value="2">two</option>
    <option value="3">three</option>
    <option value="4">four</option>
</select>Example 2 :
<select id="example2" onchange='check()'>
    <option id="1">one</option>
    <option id="2">two</option>
    <option id="3">three</option>
    <option id="4">four</option>
</select>

我的Jquery功能,但它只获得第一个选择框的ID。

<script>
function check(){
 var id = $('select').attr('id');
 alert(id);
}
</script>

2 个答案:

答案 0 :(得分:5)

您需要使用 $(this)

<script>
    function check(){
         var id = $(this).attr('id');
         alert(id);
    }
</script>

我建议你摆脱内联JavaScript(从select元素中删除 onchange )。然后使用此代码:

$("select").on("change", function() {
  var id = $(this).attr("id");
  alert(id);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select id="example1">
    <option value="1">one</option>
    <option value="2">two</option>
    <option value="3">three</option>
    <option value="4">four</option>
</select>Example 2 :
<select id="example2">
    <option id="1">one</option>
    <option id="2">two</option>
    <option id="3">three</option>
    <option id="4">four</option>
</select>

修改 我假设您使用jQuery是因为您在问题中写了 $('select')

答案 1 :(得分:1)

您可以更改内联函数调用以传递this

onchange='check(this)'

然后你的功能将如下所示:

function check(t){
    var id = t.id;
    alert(id);
}