我正在尝试将第一个设置为选定的
我有
<select name="id[21]" class="atributosSort">
<option value="107">1. Sin adaptadores de video (+$45)</option>
<option value="108">2. Mini Displayport to DVI (+$112)</option>
<option value="109">3. Mini Displayport to VGA</option>
</select>
我试过
jQuery(".atributosSort")[0].selectedIndex = 0;
和
jQuery(".atributosSort option:first").attr('selected','selected');
两人都讨论过 How to make first option of <select > selected with jQuery? 但是当我检查DOM时,没有任何属性被添加到任何
我正在使用jQuery(),因为我处于noConflict模式。这可能是问题吗?
当我同时尝试获取所选值时,我在脚本控制台中没有出现任何错误
另一件可能相关的事情是我正在用这个
对选项进行排序function sortDropDownListByText() {
// Loop for each select element on the page.
jQuery("select").each(function() {
// Keep track of the selected option.
var selectedValue = jQuery(this).val();
// Sort all the options by text. I could easily sort these by val.
jQuery(this).html(jQuery("option", jQuery(this)).sort(function(a, b) {
return a.text == b.text ? 0 : a.text < b.text ? -1 : 1
}));
// Select one option.
//jQuery(this).val(selectedValue);
});
}
// Use jQuery via jQuery(...)
jQuery(document).ready(sortDropDownListByText);
我评论了jQuery(this).val(selectedValue);因为我认为那条线正在设置一些选项,然后我不能覆盖它,但这没有区别。
有什么想法吗? 感谢
答案 0 :(得分:24)
你试过了吗?
jQuery(".atributosSort option:first-child").attr("selected", true);
答案 1 :(得分:2)
我正在使用“选择一个...”作为我的第一个选项,没有定义任何值。我发现这对我有用:
//for elements having classname, get the first option and make it selected
$('.classname').find('option:first').attr('selected','selected');
这与发布的@NeXXeuS类似,但会对所有选择字段执行此操作。
答案 2 :(得分:1)
对于更新版本的jQuery:
$(".atributosSort").prop("selectedIndex", 0)
答案 3 :(得分:0)
你在$(document).ready(...)
时做到了吗?
试试这个:
jQuery(document).ready(function () {
jQuery(".atributosSort")[0].selectedIndex = 0;
});
答案 4 :(得分:0)
您是否尝试过:(在“ready”语句中将“sortDropDownListByText”后面的括号括起来)
// Use jQuery via jQuery(...)
jQuery(document).ready(sortDropDownListByText(););
答案 5 :(得分:0)
jQuery(document).ready(function () {
jQuery(".atributosSort")[0].selectedIndex = 0;
});
比尔蜥蜴♦
是最好的答案,它不会选择选择属性的错误。
答案 6 :(得分:0)
您之前尝试过此代码吗?我使用它来重置使用jQuery的太多项目的下拉列表:
// Use jQuery via jQuery(...)
$("#yourTarget").val($("#yourTarget option:first").val());
我希望这可以帮到你。