Javascript 使用jQuery从一个selectbox(optgroup和option selected)中获取2个值

Javascript 使用jQuery从一个selectbox(optgroup和option selected)中获取2个值,javascript,jquery,Javascript,Jquery,有人能帮我吗?我有一个选择框,看起来像这样: <select name="scatid"> <optgroup label="June"> <option>2005</option> <option>2006</option> <option>2007</option> <option>2008</option> </optgroup> <op

有人能帮我吗?我有一个选择框,看起来像这样:

<select name="scatid">
<optgroup label="June">
  <option>2005</option>
  <option>2006</option>
  <option>2007</option>
  <option>2008</option>
</optgroup>
<optgroup label="July">
  <option>2005</option>
  <option>2006</option>
</optgroup>

2005
2006
2007
2008
2005
2006

我还有一个空的输入框

我试图实现的是,例如,如果我从selectbox 2008年(June optgroup)中选择。。。inputbox值get自动显示文本“June 2008”(选择optgroup name+选项)。。。等等


谁能给我举个例子,我怎样才能做到这一点?非常感谢

只需使用值属性即可提供所需的值

<select name="scatid">
<optgroup label="June">
  <option value="June 2005">2005</option>

2005

只需使用值属性即可给出所需的值

<select name="scatid">
<optgroup label="June">
  <option value="June 2005">2005</option>

2005

附带一条但书,即您实际上不想这样做:

$("#scatid").find("option:selected").parent().attr('label')

但有一个附带条件,即您实际上不想这样做:

$("#scatid").find("option:selected").parent().attr('label')

您可以通过读取
optgroup
元素的
label
属性来获取标签:

$('select[name="scatid"]').on('change', function(){
   var label = this.options[this.selectedIndex].parentNode.label;
   $('input[type=text]').val(label + ' ' + this.value);
});

您可以通过读取
optgroup
元素的
label
属性来获取标签:

$('select[name="scatid"]').on('change', function(){
   var label = this.options[this.selectedIndex].parentNode.label;
   $('input[type=text]').val(label + ' ' + this.value);
});

使用JQuery尝试以下操作:

$(function(){
$('select[name="scatid"]').change(function(){
    alert($(this).find('option:selected').parent('optgroup').attr('label')+'  '+$(this).val());
});
});
使用JQuery尝试以下操作:

$(function(){
$('select[name="scatid"]').change(function(){
    alert($(this).find('option:selected').parent('optgroup').attr('label')+'  '+$(this).val());
});
});

如果不这样做,则表单结果在提交到服务器时无法区分如果不这样做,则表单结果在提交到服务器时无法区分。非常感谢你。这正是我所需要的。非常感谢你。这正是我需要的