2012-07-12 172 views
0

我有一個示例代碼:如何獲取名稱並從選擇框中獲取價值?

<select name="code_id" id="code_id"> 
    <option value="1">Code 1</option> 
    <option value="2">Code 2</option> 
</select> 

<script type="text/javascript"> 
jQuery(document).ready(function(){ 
    var code_id = this.code_id.value; // Get value 
    var code_name = this...// Get code name 
    alert(code_name); 
}); 
</script> 

如何獲得代號(代碼1,代碼2)

+0

它只是選擇標籤的值。即$('#code_id')。val() – Onheiron 2012-07-12 08:12:50

+0

你想得到所有的值還是隻有當前選擇的值?你是否想要一次或每次選擇新值? – insertusernamehere 2012-07-12 08:16:28

回答

1

澄清你的問題
如果其選定的選項的文字你想,那麼:

$("#code_id option:selected").text(); 
0

,你可以得到它的文字使用:selected選擇器,用於選擇的選項和text()

選擇所有選定的元素。

$(document).ready(function(){ 
    var txt = $('#code_id option:selected').text() 
}); 
+1

我很*很抱歉!我以爲我在編輯我自己的答案。我不知道我是如何編輯你的... =( – 2012-07-12 08:17:04

+0

這不是什麼OP要 – coolguy 2012-07-12 08:18:51

+0

確定沒有煩惱!但仍然必須指定哪個選擇(通過ID或名稱)..我害怕這不會工作如果該頁面有多個選擇框 – coolguy 2012-07-12 08:24:15

1

這會給你所有的代碼名稱:

$.each($("#code_id option"), function (i, opt) { console.log($(opt).text())}) 

這會給你選擇的代碼名稱

$("#code_id").text() 
-1

你可以這樣做:

$('#code_id option[value="'+$(this).val()+'"]').html(); 

ÿ OU可能需要做一些修改,以適合您的問題

1

像這樣的事情

$('#code_id option').each(function() { alert($(this).text()); }); 
1
$(document).ready(function(){ 
$('#code_id').change(function(){ 
    alert($(this).find('option:selected').text()); 
}); 
}); 
+0

什麼,使用'.change()'??? +1這些各種事件處理程序已經(讀:是?)被棄用爲'.on()'。 – 2012-07-12 08:33:28

+0

@BenEverard改變已被棄用?因爲什麼時候? – undefined 2012-07-12 08:38:21

+0

因此,不推薦使用的可能是錯誤的術語,我對此有所質疑。無論哪種方式,jQuery本身正在從'.click()','.change()'等轉移, .on()'...舊式的事件方法目前只是調用'.on(),這些方法仍然可用於向後兼容。以下是博客文章 - > http://blog.jquery.com/2011/11/03/jQuery的1-7發佈/ – 2012-07-12 09:31:15