Jquery设置optgroup选择的值

时间:2014-11-18 19:31:02

标签: jquery optgroup

我不确定如何设置optgroup选择值,确保选中的选项具有正确的标签。我遇到的问题是我有两个标签,但每个标签的选项可以相同。

标签1 =本田 标签2 =丰田

两者的选项:

选项1 =“红色” 选项2 =“蓝色”......

我想在document.ready()上的Honda标签下将所选选项设置为Blue。 目前,当我尝试将选项设置为选中时,使用“蓝色”的最后一项是在这种情况下选择的丰田标签下为蓝色的项目。

我试过了:

var color ="Blue";
var make ="Honda";
var test = $('#car_selector optgroup[label='+make+'] option[value="'+color+'"]')
test.prop('selected', true);

<select>
 <optgroup label="Honda">
   <option value="blue">Blue</option>
   <option value="red">Red</option>
 </optgroup>
 <optgroup label="Toyota">
   <option value="blue">Blue</option>
   <option value="red">Red</option>
 </optgroup>
</select>

1 个答案:

答案 0 :(得分:5)

假设你有类似的标记:

<select>
  <optgroup label="Honda">
    <option value="blue">Blue</option>
    <option value="red">Red</option>
  </optgroup>
</select>

这个JS可以工作:

var make = 'Honda';
var color = 'red';

var optgroup = $('select optgroup[label="'+make+'"]')
var option = optgroup.find('option[value="'+color+'"]')

option.attr('selected', true)

JSBin here

编辑正如我在评论中提到的,将make变量正确引用到选择器中只是一个错误。