我可以使用以下jquery选择列表框中的项目
$('#id option[value=<?php echo $row; ?>]').attr('selected','selected');
但是它对optgroup
不起作用,知道怎么做吗?
试试这个,
$('#id option[value="<?php echo $row; ?>"]').attr('selected','selected');
你必须使用引号来编写php字符串。
这可能会对您有所帮助。
使用 php 来构造 JavaScript 不是一个明智的做法,因为你不能利用浏览器缓存,而且重用代码变得更加困难。此外,optgroup
不是用于选择,标签的目的是简单地将选项分组select
。如果您尝试检测哪个optgroup
包含用户选择的option
,则必须使用不同的方法。请提供代表整个select
的标记,并指定您要实现的目标。
http://jsfiddle.net/ZGLAj/
<select multiple=true>
<optgroup value="coucou" >
<option value="1">1</option>
<option value="2">2</option>
</optgroup>
<optgroup value="ciao" >
<option value="3">3</option>
<option value="4">4</option>
</optgroup>
</select>
$(' optgroup[value=coucou]').children().attr('selected','selected');