2016-09-20 110 views
2

在我的應用程序中,我試圖獲取選擇框的id訪問onchange函數時。 這裏2選擇框的位置,都指向同一個功能檢查。如何可以選擇這兩個選擇box.ie例1和例2獲取選擇ID onchange Jquery

<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,但它只獲得第一個選擇框的ID。

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

回答

3

您需要使用$(本)

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

我建議你擺脫內嵌的JavaScript(刪除選擇元素平變化)。然後用這個代碼:

$("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,因爲你寫$( '選擇')在你的問題。

1

您可以更改內聯函數調用傳遞this

onchange='check(this)' 

然後你的函數看起來就像這樣:

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