2011-08-23 56 views
7

如何在jQuery中檢測到select標籤中的任何選項已被更改?jQuery - 檢測HTML選擇選項是否被選中的事件處理程序

例如[僞]:

event handler function -> option changed(){  
    //do some stuff 
} 

編輯:

我有以下選擇:

<select id = "selectattribute"> 
    <OPTION VALUE="0">Choose Attribute</OPTION> 
    <?php echo($options);?> 
</select> 

我jQuery中嘗試這樣的:

$(document).ready(function() { 
    $("#selectattribute").change(function() { 
    alert('Handler for .change() called.'); 
    }); 
}); 

沒有任何反應...... e功能不是; t觸發。

編輯:它的工作原理,當我使用的$("#select")代替$("#selectattribute")...can you not apply it to particular select tags?

+0

您附加一個偵聽change事件選擇元素。您可以使用jQuery(或任何數量的庫),或幾行純腳本或內聯處理程序。 – RobG

+0

@RobG:你真的不應該建議內聯處理程序... – Saxoier

+0

你有沒有嘗試過不同的瀏覽器? –

回答

8

jQuery docs regarding the change handler

<form> 
    <input class="target" type="text" value="Field 1" /> 
    <select class="target"> 
    <option value="option1" selected="selected">Option 1</option> 
    <option value="option2">Option 2</option> 
    </select> 
</form> 
<div id="other"> 
    Trigger the handler 
</div> 

事件處理程序可以綁定到文本輸入和選擇框:

$('.target').change(function() { 
    alert('Handler for .change() called.'); 
}); 
+0

嗨我看到了它並實現了它,但它不工作...請參閱我編輯的帖子 – user906568

+0

它應該按照您發佈的代碼工作你的編輯。通過「Jon P」在另一個答案中看到小提琴鏈接。您的發佈代碼在隔離時有效。所以有可能你在頁面的其他部分有其他的東西搞砸了 - 你可能不得不張貼整個頁面的HTML。你是否多次使用id名?控制檯中是否存在JavaScript錯誤? –

1
$("select").change(function() {}) 
+0

我試過,但它不工作 - >看到我編輯的帖子 – user906568

+0

你需要看看jquery選擇器的文檔'$(「select」)'會選擇所有'