2012-07-12 169 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