2010-08-27 43 views
3

我有下面提供的代碼。我已經嘗試使用jquery來選擇使某些事情發生,但最終我沒有工作或可能不正確。listbox select issue

$("#emailList option").click(function() { 
    alert("OMG"); 
}); 



<select id="emailList" multiple="multiple" name="emailList"> 
<option>[email protected]</option> 
</select> 

有人能給我提供從我的列表框中選擇項目的正確方法嗎?

+0

當你說*「讓某事發生」*,你是什麼意思。你的代碼的方式是'alert()'應該工作。 *(請注意,您的'name'屬性拼錯了'ame')* – user113716 2010-08-27 14:28:34

+0

@ patrick dw - 哦,我說的「發生某事時」的意思就是我指的就像隱藏一個按鈕等。只是在那裏告訴我我已經達到了代碼。 – hersh 2010-08-27 17:50:30

回答

6

嘗試:

$("#emailList").change(function() { 
    alert($('option:selected', $(this)).text()); 
}); 
+0

@ Sarfraz - 感謝您的幫助。 – hersh 2010-09-02 02:46:17

5

可以使用.change()方法是這樣的:

$("#emailList").change(function() { 
    alert("Current value:" + $(this).val()); 
}); 

由於您<option>沒有價值,文字將是價值,因此,使用.val()作品在這裏。對於<option>元素,.click()事件不會在所有瀏覽器(IE ...)上執行,所以最好使用.change()

+0

你有什麼理由爲什麼當我從列表框中選擇一個項目時,它會給我所有的文本項目而不是我選擇的項目?例如,我應該只能選擇一個,而不是多個,當我選擇我想要的內容時,只有我選擇的內容纔會顯示在同一頁面上的文本框中。 – hersh 2010-08-30 18:17:17

+0

@hersh - 'multiple ='multiple''是允許多個選擇器,只需將其刪除以使其成爲單個選擇。 – 2010-08-30 18:39:03

+0

我將如何刪除它?提前致謝。 – hersh 2010-09-02 02:45:28