使用 jQuery,您如何检查选择菜单中是否选择了某个选项,如果没有,将其中一个选项指定为已选择。
(选择是在我刚刚继承的应用程序中使用迷宫般的 PHP 函数生成的,因此这是一个快速修复,同时我也了解了这些 :)
使用 jQuery,您如何检查选择菜单中是否选择了某个选项,如果没有,将其中一个选项指定为已选择。
(选择是在我刚刚继承的应用程序中使用迷宫般的 PHP 函数生成的,因此这是一个快速修复,同时我也了解了这些 :)
虽然我不确定您到底想要完成什么,但这段代码对我有用。
<select id="mySelect" multiple="multiple">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
<option value="4">Fourth</option>
</select>
<script type="text/javascript">
$(document).ready(function() {
if (!$("#mySelect option:selected").length) {
$("#mySelect option[value='3']").attr('selected', 'selected');
}
});
</script>
无需为此使用 jQuery:
var foo = document.getElementById('yourSelect');
if (foo)
{
if (foo.selectedIndex != null)
{
foo.selectedIndex = 0;
}
}
这个问题很老,有很多观点,所以我会抛出一些东西,我敢肯定会帮助一些人。
要检查选择元素是否有任何选定的项目:
if ($('#mySelect option:selected').length > 0) { alert('has a selected item'); }
或检查选择是否未选择任何内容:
if ($('#mySelect option:selected').length == 0) { alert('nothing selected'); }
或者如果您处于某种循环中并且想要检查当前元素是否被选中:
$('#mySelect option').each(function() {
if ($(this).is(':selected')) { .. }
});
检查在循环中是否未选择元素:
$('#mySelect option').each(function() {
if ($(this).not(':selected')) { .. }
});
这些是执行此操作的一些方法。jQuery 有许多不同的方法来完成同样的事情,所以你通常只需要选择一种看起来最有效的方法。
lencioni 的回答是我推荐的。您可以更改选项的选择器以('#mySelect option:last')
使用“ #mySelect option[value='yourDefaultValue']
”选择具有特定值的选项。 更多关于选择器。
如果您在客户端上广泛使用选择列表,请查看此插件:http : //www.texotela.co.uk/code/jquery/select/。如果您想查看更多使用选择列表的示例,请查看源代码。
这是我更改所选选项的功能。它适用于 jQuery 1.3.2
function selectOption(select_id, option_val) {
$('#'+select_id+' option:selected').removeAttr('selected');
$('#'+select_id+' option[value='+option_val+']').attr('selected','selected');
}